System And Method For Caching Data

ABSTRACT

A method of obtaining radio content from a remote electronic device for a user electronic device includes transmitting a request for radio media content to a first remote electronic device via a network. Radio media content that includes a plurality of media data files is received via the network. The received plurality of media data files are stored in a storage device of the user electronic device. A radio playlist that defines a rendering sequence for the plurality of media data files is requested. In response to the request for the radio playlist, the radio playlist is received. The radio playlist is processed in the user electronic device to enable the stored plurality of media data files to be rendered on the user electronic device in accordance with the radio playlist.

RELATED APPLICATIONS

This application is a continuation-in-part of the following application,which is herein incorporated by reference: U.S. Ser. No.: 10/719,981;filed 21 Nov. 2003, entitled: DIGITAL RIGHTS MANAGEMENT FOR CONTENTRENDERING ON PLAYBACK DEVICES.

TECHNICAL FIELD

This invention relates to media content caching and, more particularly,to media content caching on a personal media device.

BACKGROUND

Media distribution systems (e.g., the Rhapsody™ and Rhapsody-to-Go™services offered by RealNetworks™ of Seattle, Wash.) distribute mediacontent to a client electronic device (e.g., an MP3 player) from a mediaserver. A media distribution system may distribute media content byallowing a user to download media data files and/or receive and processmedia data streams.

Media distribution systems may allow a user to listen to radio mediacontent, such that individual media tracks are streamed via unicast ormulticast to the user (in a fashion similar to that of a traditionalradio station). Typically, the tracks included within the radio mediacontent (and the order in which the tracks are rendered by the user orstreamed to the user) are often governed by various laws andorganizations, such as The Digital Millennium Copyright Act (i.e., theDMCA), the ASCAP (i.e., the American Society of Composers, Authors, andPublishers) policies, and the BMI (i.e., Broadcast Music, Inc.)policies. Further provisions under the copyright act may subject theuser and/or distributor of the media content to increased royalties ifthe tracks are provided to the user without restrictions required bysuch laws.

One way to provide tracks to users while still complying with DMCArestrictions is described in U.S. Pat. No. 6,611,813. These and othermethods prevent skipping of music in a playlist to ensure compliancewith the DMCA, but do not provide for using a server generated radiostation playlist when a device is un-tethered from a network.

SUMMARY OF DISCLOSURE

In a first implementation, a method of obtaining radio content from aremote electronic device for a user electronic device includestransmitting a request for radio media content to a first remoteelectronic device via a network. Radio media content that includes aplurality of media data files is received via the network. The receivedplurality of media data files are stored in a storage device of the userelectronic device. A radio playlist that defines a rendering sequencefor the plurality of media data files is requested. In response to therequest for the radio playlist, the radio playlist is received. Theradio playlist is processed in the user electronic device to enable thestored plurality of media data files to be rendered on the userelectronic device in accordance with the radio playlist.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagrammatic view of a DRM process, a media distributionsystem, a client application, a proxy application, a device application,and a personal media device coupled to a distributed computing network;

FIG. 2 is an isometric view of the personal media device of FIG. 1;

FIG. 3 is a diagrammatic view of the personal media device of FIG. 1;

FIG. 4 is a display screen rendered by the client application of FIG. 1;

FIG. 5 is a display screen rendered by the client application of FIG. 1;

FIG. 6 is a display screen rendered by the client application of FIG. 1;

FIG. 7 is a display screen rendered by the client application of FIG. 1;

FIG. 8 is a display screen rendered by the client application of FIG. 1;

FIG. 9 is a display screen rendered by the proxy application of FIG. 1;

FIG. 10 is a display screen rendered by the proxy application of FIG. 1;

FIG. 11 is a display screen rendered by the proxy application of FIG. 1;

FIG. 12a is a diagrammatic view of the media distribution system,distributed computing network, and personal media device of FIG. 1;

FIG. 12b is a flowchart of a process executed by the DRM process of FIG.1;

FIG. 13a is a diagrammatic view of the media distribution system,distributed computing network, and personal media device of FIG. 1;

FIG. 13b is a flowchart of a process executed by the DRM process of FIG.1;

FIG. 14 is a display screen rendered by the proxy application of FIG. 1;

FIG. 15a is a diagrammatic view of the media distribution system,distributed computing network, and proxy computer of FIG. 1;

FIG. 15b is a flowchart of a process executed by the proxy applicationof FIG. 1;

FIG. 16a is a diagrammatic view of the proxy computer and personal mediadevice (including a storage device, radio playlist and modified seedcontent list) of FIG. 1;

FIG. 16b is a flowchart of a process executed by the proxy applicationof FIG. 1;

FIG. 17a is a diagrammatic view of the storage device, radio playlistand modified seed content list of FIG. 16 a;

FIG. 17b is a flowchart of a process executed by the device applicationof FIG. 1;

FIG. 18 is a diagrammatic view of an asymmetric key block.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS SYSTEM OVERVIEW:

Referring to FIG. 1, there is shown a DRM (i.e., digital rightsmanagement) process 10 that may be resident on and executed by personalmedia device 12. As will be discussed below in greater detail, DRMprocess 10 allows a user (e.g., user 14) of personal media device 12 tomanage media content 16 resident on personal media device 12. Examplesof personal media device 12 include a laptop/notebook computer, a PDA(i.e., personal digital assistant), a cellular telephone, a portablemedia player (e.g., an MP3 player), a pager, a wireless email device(e.g., a Blackberry™ device), and/or a portable gaming device (e.g., aPlaystation™ Portable), for example. Personal media device 12 typicallyreceives media content 16 from media distribution system 18.

As will be discussed below in greater detail, examples of the format ofthe media content 16 received from media distribution system 18 mayinclude: purchased downloads received from media distribution system 18(i.e., media content licensed to e.g., user 14 for use in perpetuity);subscription downloads received from media distribution system 18 (i.e.,media content licensed to e.g., user 14 for use while a validsubscription exists with media distribution system 18); and mediacontent streamed from media distribution system 18, for example.Typically, when media content 16 is streamed from e.g., computer 28(i.e., which may include, but is not limited to, a server computer, adesktop computer, a laptop computer, a personal digital assistant, or aseries of servers, for example) to personal media device 12, a copy ofthe media content 16 is not permanently retained on personal mediadevice 12. In addition to media distribution system 18, media content 16may be obtained from other sources, examples of which may include butare not limited to files ripped from music compact discs.

Examples of the types of media content 16 distributed by mediadistribution system 18 include: audio files (examples of which mayinclude but are not limited to music files, audio news broadcasts, audiosports broadcasts, and audio recordings of books, for example); videofiles (examples of which may include but are not limited to videofootage that does not include sound, for example); audio/video files(examples of which may include but are not limited to a/v newsbroadcasts, a/v sports broadcasts, feature-length movies and movieclips, music videos, and episodes of television shows, for example); andmultimedia content (examples of which may include but are not limited tointeractive presentations and slideshows, for example).

Media distribution system 18 typically provides media data streamsand/or media data files to a plurality of users (e.g., users 14, 20, 22,24, 26). Examples of such a media distribution system 18 include theRhapsody™ service and Rhapsody-To-Go™ service offered by RealNetworks™of Seattle, Wash.. Prior to transmission, media distribution system 18may encode the media data streams and/or media data files into e.g., MP3(i.e., Motion Picture Experts Group Audio Layer 3) format, AAC (i.e.,Advanced Audio Coding) format, RealAudio™ format, Quicktime™ format, andAVI (i.e., Audio Video Interleave) format, for example. Upon receipt,the streams/files may be decoded (using the appropriate decoder) andrendered.

Media distribution system 18 is typically a server application thatresides on and is executed by computer 28 (e.g., a server computer) thatis connected to network 30 (e.g., the Internet). Computer 28 may be aweb server (or series of many connected servers) running a networkoperating system, examples of which may include but are not limited toMicrosoft Windows 2000 Server™, Novell Netware™, or Redhat

Typically, computer 28 also executes a web server application, examplesof which may include but are not limited to Microsoft IIS™, NovellWebserver™, or Apache Webserver™, that allows for HTTP (i.e., HyperTextTransfer Protocol) access to computer 28 via network 30. Network 30 maybe connected to one or more secondary networks (e.g., network 32), suchas: a local area network; a wide area network; or an intranet, forexample.

The instruction sets and subroutines of media distribution system 18,which are typically stored on a storage device 34 coupled to computer28, are executed by one or more processors (not shown) and one or morememory architectures (not shown) incorporated into computer 28. Storagedevice 34 may include but are not limited to a hard disk drive, a tapedrive, an optical drive, a RAID array, a random access memory (RAM), ora read-only memory (ROM).

Users 14, 20, 22, 24, 26 may access media distribution system 18directly through network 30 or through secondary network 32. Further,computer 28 (i.e., the computer that executes media distribution system18) may be connected to network 30 through secondary network 32, asillustrated with phantom link line 36.

Users 14, 20, 22, 24, 26 may access media distribution system 18 throughvarious client electronic devices, examples of which may include but arenot limited to personal media devices 12, 38, 40, 42, client computer44, laptop computers (not shown), personal digital assistants (notshown), cellular telephones (not shown), televisions (not shown), cableboxes (not shown), internet radios (not shown), or dedicated networkdevices (not shown), for example.

The various client electronic devices may be directly or indirectlycoupled to network 30 (or network 32). For example, client computer 44is shown directly coupled to network 30 via a hardwired networkconnection. Further, client computer 44 may execute a client application46 (examples of which may include but are not limited to MicrosoftInternet Explorer™, Netscape Navigator™, RealRhapsody™client,RealPlayer™client, or a specialized interface) that allows e.g., user 22to access and configure media distribution system 18 via network 30 (ornetwork 32). Client computer 44 may run an operating system, examples ofwhich may include but are not limited to Microsoft Windows™, or RedhatLinux™.

The instruction sets and subroutines of client application 46, which aretypically stored on a storage device 48 coupled to client computer 44,are executed by one or more processors (not shown) and one or morememory architectures (not shown) incorporated into client computer 44.Storage device 48 may include but are not limited to a hard disk drive,a tape drive, an optical drive, a RAID array, a random access memory(RAM), or a read-only memory (ROM).

As discussed above, the various client electronic devices may beindirectly coupled to network 30 (or network 32). For example, personalmedia device 38 is shown wireless coupled to network 30 via a wirelesscommunication channel 50 established between personal media device 38and wireless access point (i.e., WAP) 52, which is shown directlycoupled to network 30. WAP 52 may be, for example, an IEEE 802.11a,802.11b, 802.11g, Wi-Fi, and/or Bluetooth device that is capable ofestablishing secure communication channel 50 between personal mediadevice 38 and WAP 52.

As is known in the art, all of the IEEE 802.11x specifications useEthernet protocol and carrier sense multiple access with collisionavoidance (i.e., CSMA/CA) for path sharing. The various 802.11xspecifications may use phase-shift keying (i.e., PSK) modulation orcomplementary code keying (i.e., CCK) modulation, for example. As isknown in the art, Bluetooth is a telecommunications industryspecification that allows e.g., mobile phones, computers, and personaldigital assistants to be interconnected using a short-range wirelessconnection.

In addition to being wirelessly coupled to network 30 (or network 32),personal media devices may be coupled to network 30 (or network 32) viaa proxy computer (e.g., proxy computer 54 for personal media device 12,proxy computer 56 for personal media device 40, and proxy computer 58for personal media device 42, for example).

PERSONAL MEDIA DEVICE

For example and referring also to FIG. 2, personal media device 12 maybe connected to proxy computer 54 via a docking cradle 60. Typically,personal media device 12 includes a bus interface (to be discussed belowin greater detail) that couples personal media device 12 to dockingcradle 60. Docking cradle 60 may be coupled (with cable 62) to e.g., auniversal serial bus (i.e., USB) port, a serial port, or an IEEE 1394(i.e., FireWire) port included within proxy computer 54.

The bus interface included within personal media device 12 may be a USBinterface, and docking cradle 60 may function as a USB hub (i.e., aplug-and-play interface that allows for “hot” coupling and uncoupling ofpersonal media device 12 and docking cradle 60).

Proxy computer 54 may function as an Internet gateway for personal mediadevice 12. Accordingly, personal media device 12 may use proxy computer54 to access media distribution system 18 via network 30 (and network32) and obtain media content 16. Specifically, upon receiving a requestfor media distribution system 18 from personal media device 12, proxycomputer 54 (acting as an Internet client on behalf of personal mediadevice 12), may request the appropriate web page/service from computer28 (i.e., the computer that executes media distribution system 18). Whenthe requested web page/service is returned to proxy computer 54, proxycomputer 54 relates the returned web page/service to the originalrequest (placed by personal media device 12) and forwards the webpage/service to personal media device 12. Accordingly, proxy computer 54may function as a conduit for coupling personal media device 12 tocomputer 28 and, therefore, media distribution system 18.

Further, personal media device 12 may execute a device application 64(examples of which may include but are not limited to RealRhapsody™client, RealPlayer™ client, or a specialized interface). Personal mediadevice 12 may run an operating system, examples of which may include butare not limited to Microsoft Windows CE™, Redhat Linux™, Palm OS™, or adevice-specific (i.e., custom) operating system.

DRM process 10 is typically a component of device application 64(examples of which may include but are not limited to an embeddedfeature of device application 64, a software plug-in for deviceapplication 64, or a stand-alone application called from within andcontrolled by device application 64). The instruction sets andsubroutines of device application 64 and DRM process 10, which aretypically stored on a storage device 66 coupled to personal media device12, are executed by one or more processors (not shown) and one or morememory architectures (not shown) incorporated into personal media device12. Storage device 66 may be, for example, a hard disk drive, an opticaldrive, a random access memory (RAM), a read-only memory (ROM), a CF(i.e., compact flash) card, an SD (i.e., secure digital) card, aSmartMedia card, a Memory Stick, and a MultiMedia card.

An administrator 68 typically accesses and administers mediadistribution system 18 through a desktop application 70 (examples ofwhich may include but are not limited to Microsoft Internet Explorer™,Netscape Navigator™, or a specialized interface) running on anadministrative computer 72 that is also connected to network 30 (ornetwork 32).

The instruction sets and subroutines of desktop application 70, whichare typically stored on a storage device (not shown) coupled toadministrative computer 72, are executed by one or more processors (notshown) and one or more memory architectures (not shown) incorporatedinto administrative computer 72. The storage device (not shown) coupledto administrative computer 72 may include but are not limited to a harddisk drive, a tape drive, an optical drive, a RAID array, a randomaccess memory (RAM), or a read-only memory (ROM).

Referring also to FIG. 3, a diagrammatic view of personal media device12 is shown. Personal media device 12 typically includes microprocessor150 (e.g., an ARM™ microprocessor produced by Intel™ of Santa Clara,Calif.), non-volatile memory (e.g., read-only memory 152), and volatilememory (e.g., random access memory 154); each of which may beinterconnected via one or more data/system buses 156, 158. Personalmedia device 12 may also include an audio subsystem 160 for providinge.g., an analog audio signal to an audio jack 162 for removable engaginge.g., headphone assembly 164, remote speaker assembly 166, or ear budassembly 168, for example. Alternatively, personal media device 12 maybe configured to include one or more internal audio speakers (notshown).

Personal media device 12 may also include a user interface 170 and adisplay subsystem 172. User interface 170 may receive data signals fromvarious input devices included within personal media device 12, examplesof which may include (but are not limited to): rating switches 74, 76;backward skip switch 78; forward skip switch 80; play/pause switch 82;menu switch 84; radio switch 86; and slider assembly 88, for example.Display subsystem 172 may provide display signals to display panel 90included within personal media device 12. Display panel 90 may be anactive matrix liquid crystal display panel, a passive matrix liquidcrystal display panel, or a light emitting diode display panel, forexample.

Audio subsystem 160, user interface 170, and display subsystem 172 mayeach be coupled with microprocessor 150 via one or more data/systembuses 174, 176, 178 (respectively).

During use of personal media device 12, display panel 90 may beconfigured to display e.g., the title and artist of various pieces ofmedia content 92, 94, 96 stored within personal media device 12. Sliderassembly 88 may be used to scroll upward or downward through the list ofmedia content stored within personal media device 12. When the desiredpiece of media content is highlighted (e.g., “Phantom Blues” by “TajMahal”), user 14 may select the media content for rendering usingplay/pause switch 82. User 14 may skip forward to the next piece ofmedia content (e.g., “Happy To Be Just . . . ” by “Robert Johnson”)using forward skip switch 80; or skip backward to the previous piece ofmedia content (e.g., “Big New Orleans . . . ” by “Leroy Brownstone”)using backward skip switch 78. Additionally, user 14 may rate the mediacontent as they listen to it by using rating switches 74, 76.

As discussed above, personal media device 12 may include a bus interface180 for interfacing with e.g., proxy computer 54 via docking cradle 60.Additionally and as discussed above, personal media device 12 may bewireless coupled to network 30 (and/or other personal media devices) viae.g., a wireless communication channel 50 established between personalmedia device 12 and e.g., WAP 52. Accordingly, personal media device 12may include a wireless interface 182 for wirelessly-coupling personalmedia device 12 to network 30 (or network 32) and/or other personalmedia devices. Wireless interface 182 may be coupled to an antennaassembly 184 for RF communication to e.g., WAP 52, and/or an IR (i.e.,infrared) communication assembly 186 for infrared communication withe.g., a second personal media device (such as personal media device 40).

As discussed above, personal media device 12 may include a storagedevice 66 for storing the instruction sets and subroutines of deviceapplication 64 and DRM process 10. Additionally, storage device 66 maybe used to store media data files downloaded from media distributionsystem 18 and to temporarily store media data streams (or portionsthereof) streamed from media distribution system 18.

Storage device 66, bus interface 180, and wireless interface 182 mayeach be coupled with microprocessor 150 via one or more data/systembuses 188, 190, 192 (respectively).

As discussed above, media distribution system 18 distributes mediacontent to users 14, 20, 22, 24, 26, such that the media contentdistributed may be in the form of media data streams and/or media datafiles.

Accordingly, media distribution system 18 may be configured to onlyallow users to download media data files. For example, user 14 may beallowed to download, from media distribution system 18, media data files(i.e., examples of which may include but are not limited to MP3 files orAAC files), such that copies of the media data file are transferred fromcomputer 28 to personal media device 12 (being stored on storage device66).

Alternatively, media distribution system 18 may be configured to onlyallow users to receive and process media data streams of media datafiles. For example, user 22 may be allowed to receive and process (onclient computer 44) media data streams received from media distributionsystem 18. As discussed above, when media content is streamed from e.g.,computer 28 to client computer 44, a copy of the media data file is notpermanently retained on client computer 44.

Further, media distribution system 18 may be configured to allow usersto receive and process media data streams and download media data files.Examples of such a media distribution system include the Rhapsody™ andRhapsody-to-Go ™ services offered by RealNetworks™ of Seattle, Wash..Accordingly, user 14 may be allowed to download media data files andreceive and process media data streams from media distribution system18. Therefore, copies of media data files may be transferred fromcomputer 28 to personal media device 12 (i.e., the received media datafiles being stored on storage device 66); and streams of media datafiles may be received from computer 28 by personal media device 12(i.e., with portions of the received stream temporarily being stored onstorage device 66). Additionally, user 22 may be allowed to downloadmedia data files and receive and process media data streams from mediadistribution system 18. Therefore, copies of media data files may betransferred from computer 28 to client computer 44 (i.e., the receivedmedia data files being stored on storage device 48); and streams ofmedia data files may be received from computer 28 by client computer 44(i.e., with portions of the received streams temporarily being stored onstorage device 48).

Typically, in order for a device to receive and process a media datastream from e.g., computer 28, the device must have an active connectionto computer 28 and, therefore, media distribution system 18.Accordingly, personal media device 38 (i.e., actively connected tocomputer 28 via wireless channel 50), and client computer 44 (i.e.,actively connected to computer 28 via a hardwired network connection)may receive and process media data streams from e.g., computer 28.

As discussed above, proxy computers 54, 56, 58 may function as a conduitfor coupling personal media devices 12, 40, 42 (respectively) tocomputer 28 and, therefore, media distribution system 18. Accordingly,when personal media devices 12, 40, 42 are coupled to proxy computers54, 56, 58 (respectively) via e.g., docking cradle 60, personal mediadevices 12, 40, 42 are actively connected to computer 28 and, therefore,may receive and process media data streams provided by computer 28.

USER INTERFACES

As discussed above, media distribution system 18 may be accessed usingvarious types of client electronic devices, which include but are notlimited to personal media devices 12, 38, 40, 42, client computer 44,personal digital assistants (not shown), cellular telephones (notshown), televisions (not shown), cable boxes (not shown), internetradios (not shown), or dedicated network devices (not shown), forexample. Typically, the type of interface used by the user (whenconfiguring media distribution system 18 for a particular clientelectronic device) will vary depending on the type of client electronicdevice to which the media content is being streamed/downloaded.

For example, as the embodiment shown (in FIG. 2) of personal mediadevice 12 does not include a keyboard and the display panel 90 ofpersonal media device 12 is compact, media distribution system 18 may beconfigured for personal media device 12 via proxy application 98executed on proxy computer 54.

The instruction sets and subroutines of proxy application 98, which aretypically stored on a storage device 99 coupled to proxy computer 54,are executed by one or more processors (not shown) and one or morememory architectures (not shown) incorporated into proxy computer 54.Storage device 99 coupled to proxy computer 54 may include but are notlimited to a hard disk drive, a tape drive, an optical drive, a RAIDarray, a random access memory (RAM), or a read-only memory (ROM).

Additionally and for similar reasons, personal digital assistants (notshown), cellular telephones (not shown), televisions (not shown), cableboxes (not shown), internet radios (not shown), and dedicated networkdevices (not shown) may use proxy application 98 executed on proxycomputer 54 to configure media distribution system 18.

Further, the client electronic device need not be directly connected toproxy computer 54 for media distribution system 18 to be configured viaproxy application 98. For example, assume that the client electronicdevice used to access media distribution system 18 is a cellulartelephone. While cellular telephones are typically not physicallyconnectable to e.g., proxy computer 54, proxy computer 54 may still beused to remotely configure media distribution system 18 for use with thecellular telephone. Accordingly, the configuration information(concerning the cellular telephone) that is entered via e.g., proxycomputer 54 may be retained within media distribution system 18 (oncomputer 28) until the next time that the user accesses mediadistribution system 18 with the cellular telephone. At that time, theconfiguration information saved on media distribution system 18 may bedownloaded to the cellular telephone.

For systems that include keyboards and larger displays (e.g., clientcomputer 44), client application 46 may be used to configure mediadistribution system 18 for use with client computer 44.

Referring also to FIG. 4, when using client application 46 to accessmedia distribution system 18, user 22 may be presented with aninformation display screen 200 rendered by client application 46. Clientapplication 46 typically includes a user interface 202 (e.g., a webbrowser) for interfacing with media distribution system 18 and viewinginformation display screen 200.

When e.g., user 22 streams/downloads media content from e.g., computer28, media distribution system 18 may monitor the media contentstreamed/downloaded to the user's client electronic device (e.g., clientcomputer 44, for example), resulting in the generation of a mediahistory file 100 (FIG. 1) for that user. While media history file 100 istypically maintained locally (e.g., maintained on client computer 44),media history file 100 may alternatively/additionally be maintainedremotely (e.g., maintained on computer 28) as a remote media historyfile 100′.

The user (e.g., user 22) may save this media history file (or portionsthereof) as a playlist. A playlist is typically a group of tracks(examples of which may include, but are not limited to, songs, videos,news broadcasts, sports broadcasts, etc) that media distribution system18 will render in sequence. This, in turn, allows the user to compilecustom music compilations (in the form of multiple playlists).

A history window 204 may be rendered by client application 46 thatitemizes the information contained within media history file 100. Inthis example, history window 204 itemizes ten (10) media data streams(e.g., “Jailhouse Rock”; “Surf City”; “Runaround Sue”; “The Wanderer”;“The Great Pretender”; “Blueberry Hill”; “I′m Walkin'”; “BlueChristmas”; “Yakety Yak”; and “Peggy Sue”), thus indicating that user 22had previously listened to those ten (10) media data streams.

In addition to media data streams (i.e., media data streams receivedfrom a remote device e.g., computer 28), client application 46 allowsuser 12 to render local media data files. As discussed above, a localmedia data file may be a purchased download received from mediadistribution system 18 (i.e., media content licensed to e.g., user 14for use in perpetuity); a subscription download received from mediadistribution system 18 (i.e., media content licensed to e.g., user 14for use while a valid subscription exists with media distribution system18); and/or a media data file extracted (i.e., ripped) from e.g., amusic compact disc, for example. These local media data files aretypically stored locally on e.g., storage device 48 coupled to clientcomputer 44.

If user 22 wishes to render a local media data file (i.e., a file storedon client computer 44), user 22 may e.g., select the file(s) to berendered using client application 46. Accordingly, user 22 may selectthe dropdown “File” menu 206 using screen pointer 208, which may becontrollable by a pointing device (e.g., a computer mouse, not shown).Selecting the “Open” command may result in client application 46rendering file management window 210, which allows user 22 to selectlocal media data files for playback.

In this example, file management window 210 defines three (3) localmedia data files, namely: “Chantilly Lace” 212; “Great Balls of Fire”214; and “Tutti Frutti” 216, all of which are stored within the folder“My Music”. User 22 may select any (or all) of these files for playbackon client application 46.

A search window 218 allows a user (e.g., user 22) to search for mediacontent. For example, user 22 may enter search terms (e.g., “ElvisPresley”), select the appropriate term type (e.g., artist), and executea query. In the event that multiple artists satisfy the query, a resultset may be generated from which user 22 may select e.g., the appropriateartist. Once the appropriate artist is selected, user 22 may review thevarious albums released by the selected artist (or that include tracksby the selected artist). User 22 may then stream or download one or moreof the various tracks included within any of the albums. Once a track isrendered, identifying information concerning the track rendered may beadded to local media history file 100 and/or remote media history file100′ and may be included in history window 204. In addition to beingable to search for media content by artist, user 14 may also be able tosearch for media content by e.g., keyword, track, album and/or composer,for example.

Referring also to FIG. 5 and assuming that user 22 selects all threelocal media data files for playback, media history file 100 may beamended to include three additional entries, namely one for “ChantillyLace”; one for “Great Balls of Fire”; and one for “Tutti Frutti”.Accordingly, as history window 204 itemizes the information containedwithin media history file 100, history window 204 will include threeadditional entries (i.e., entries 220, 222, 224), which correspond tolocal media data file “Chantilly Lace” 212; local media data file “GreatBalls of Fire” 214; and local media data file “Tutti Frutti” 216.

Assuming that user 22 wishes to save this collection of music for futureplayback, user 22 may save the current media history file 100 (or aportion thereof) as a playlist 102 (FIG. 1). While playlist 102 istypically maintained locally (e.g., maintained on client computer 44),playlist 102 may alternatively/additionally be maintained remotely(e.g., maintained on computer 28) as a remote playlist 102′.

Referring also to FIG. 6, user 22 may select the “save” button 240(using screen pointer 208). Once the “save” button 240 is selected, aplaylist naming window 242 may be rendered (by client application 46)that allows user 22 to specify a unique name for playlist 102 within thename field 244 of playlist naming window 242.

Assuming that user 22 selects “50′s Hits” as a playlist name, playlist102 is saved (i.e., as “50's Hits”) and defines the location of all ofthe pieces of media content itemized within history window 204.

Referring also to FIG. 7, once playlist 102 is stored, a link 260 toplaylist 102 (e.g., “50's Hits”) appears in directory window 262. User22 may then select link 260 using screen pointer 208. Once selected, thetracks included within playlist 102 (e.g., “50's Hits”) are itemizedwithin a playlist window 264 (e.g., a web page) viewable via userinterface 202. As discussed above, ten of these entries (namely“Jailhouse Rock”; “Surf City”; “Runaround Sue”; “The Wanderer”; “TheGreat Pretender”; “Blueberry Hill”; “I'm Walkin'”; “Blue Christmas”;“Yakety Yak”; and “Peggy Sue”) define the location of media data streamsand three of these entries (namely “Tutti Frutti”; “Chantilly Lace”; and“Great Balls of Fire”) define the location of media data files.

Typically, playlist window 264 includes hyperlinks that locate (i.e.,provide addresses for) the streams/files associated with the individualentries itemized within playlist 102. This location information may bestored within playlist 102. For example, the following table correlatesthe track name of an entry in playlist 102 with an address for thestream/file associated with that track name:

Track Name Address Jailhouse Rockwww.musicshop.com\songs\jailhouse_rock.ram Surf Citywww.musicshop.com\songs\surf_city.ram Runaround Suewww.musicshop.com\songs\runaround_sue.ram The Wandererwww.musicshop.com\songs\the_wanderer.ram The Great Pretenderwww.musicshop.com\songs\the_great_pretender.ram Blueberry Hillwww.musicshop.com\songs\blueberry_hill.ram I'm Walkin'www.musicshop.com\songs\im_walkin.ram Blue Christmaswww.musicshop.com\songs\blue_christmas.ram Yakety Yakwww.musicshop.com\songs\yakety_yak.ram Peggy Suewww.musicshop.com\songs\peggy_sue.ram Tutti Frutti c:\mymusic\tutti_frutti.mp3 Chantilly Lace c:\my music\chantilly_lace.mp3Great Balls of Fire c:\my music\great_balls_of_fire.mp3

As the first ten entries (namely “Jailhouse Rock”; “Surf City”;“Runaround Sue”; “The Wanderer”; “The Great Pretender”; “BlueberryHill”; “I'm Walkin'”; “Blue Christmas”; “Yakety Yak”; and “Peggy Sue”)identify media data streams, the address provided for each entry pointsto a media stream available from e.g., media distribution system 18.Further, as the last three entries (namely “Tutti Frutti”; “ChantillyLace”; and “Great Balls of Fire”) identify media data files, the addressprovided for each entry points to a media data file available from e.g.,client computer 44.

Playlist window 264 is typically tabular and may include a column 266identifying a media type (i.e., media data stream or media data file,for example) for each entry within playlist window 264. Typically,column 266 includes icons that identify the media type (e.g., icon 268identifies a media data file and icon 270 identifies a media datastream). User 22 may select the “play” button 272 to render playlist102.

As discussed above, media distribution system 18 typically providesmedia data streams and/or media data files to users (e.g., user 22).Typically, metadata is associated with each media data stream providedby media distribution system 18. This metadata may include (but is notlimited to) an artist identifier, an album identifier, a trackidentifier, an album cover image, and a music genre identifier, forexample.

Accordingly, whenever e.g., user 12 renders a remote media data stream,media distribution system 18 may compile and save this metadata (on aper-user basis) to track e.g., listening trends and musical preferencesof individual users, for example.

As discussed above, a local media data file may be a purchased downloadreceived from media distribution system 18 (i.e., media content licensedto e.g., user 14 for use in perpetuity); a subscription downloadreceived from media distribution system 18 (i.e., media content licensedto e.g., user 14 for use while a valid subscription exists with mediadistribution system 18); and/or a media data file extracted (i.e.,ripped) from e.g., a music compact disc, for example.

If the purchased download and/or the subscription download were providedby media distribution system 18, these local media data files wouldtypically also include the metadata described above. Accordingly, whenthese purchased/subscription downloads are rendered by e.g., user 22,the metadata concerning these purchased/subscription downloads may betransmitted from computer 44 to computer 28, such that the metadata maybe compiled and saved (on a per user basis) to track e.g., listeningtrends and musical preferences, for example.

However, for media data files that were e.g., extracted from musiccompact discs, these data files may not include the above-describedmetadata. As discussed above, media data files (i.e., files stored onclient computer 44) may to be rendered using client application 46 andadded to playlists (e.g., playlist 102). Accordingly, whenever user 22attempts to add a media data file (that does not include metadata) to aplaylist (e.g., playlist 102), user 22 may be prompted to providemetadata concerning that media data file.

Referring also to FIG. 8 and continuing with the above-stated example,if user 22 attempts to save a playlist (e.g., playlist 102) thatincludes three local media data files (namely “Tutti Frutti”; “ChantillyLace”; and “Great Balls of Fire”), assuming that these three local mediadata files do not include metadata, client application 46 may render ametadata entry form 280 that allows user 22 to enter metadata concerningeach of the three media data files.

In this example, metadata entry form 280 includes five user-editablefields, namely an artist field 282, an album field 284, a track field286, an album cover image field 288, and a music genre field 290. Albumcover image field 288 may allow user 22 to define a drive, a path, and afilename for an album cover image. Music genre field 290 may be adrop-down menu (operable via screen pointer 208) that allows user 22 toselect a music genre from a number of predefined music genres (notshown).

Typically, if the title of the media data file is descriptive of thetrack name, the track field 286 may be automatically-populated with whatclient application 46 suspects is the track title. As the first localmedia data file is named “Tutti Frutti”, track field 286 would typicallybe populated with the suspected name “Tutti Frutti”. User 22 maypopulate the remaining fields and select the save button 292 (usingscreen pointer 208) or alternatively select the cancel button 294.

In order to further automate the metadata generation process, clientapplication 44 may interface with a remote metadata database (not shown)served by e.g., media distribution system 18 or a third party (notshown). This metadata database may define metadata for various tracksand albums. An example of such a database is the CDDB™ databasemaintained by Gracenote™ of Emeryville, Calif. (www.gracenote.com). Forexample, if user 22 ripped each track from an entire compact disc, themetadata database may be accessed by client application 44 and a querymay be structured that defines e.g., the total number of tracks includedon the compact disc, the length of each track included on the compactdisc, and the total length of the compact disc. Assuming that adefinitive result is produced by this query, the metadata for each trackripped from the compact disc would be produced. In the event that anindefinite result set (i.e., one that identifies multiple possiblecompact discs) is generated, user 22 may be prompted to select theappropriate compact disc from a list of possible matches (not shown).

As discussed above, the type of interface used by the user (whenconfiguring media distribution system 18 for a client electronic device)may vary depending on the type and the capabilities of the clientelectronic device to which the media content is beingstreamed/downloaded. Accordingly and as discussed above, mediadistribution system 18 may be configured for personal media device 12via proxy application 98 executed on proxy computer 54.

Proxy application 98 may be automatically executed upon personal mediadevice 12 being placed into docking cradle 60 by e.g., user 14.Alternatively, proxy application 98 may be fully or partially loadedupon boot up of proxy computer 54. Proxy application 98 may then operatein the background until personal media device 12 is placed into dockingcradle 60, at which time proxy application 98 may be fully loaded and/ormoved to the foreground for execution. Further, proxy application 98 maybe manually executed by user 14. As will be discussed below in greaterdetail, proxy application 98 (once executed) may be used to e.g.,configure personal media device 12 and transfer media data files to andremove media data files from personal media device 12, for example.

Referring also to FIG. 9, when using proxy application 98 to accessmedia distribution system 18, user 14 may be presented with ainformation display screen 300 rendered by proxy application 98. Proxyapplication 98 typically includes a user interface 302 (e.g., a webbrowser) for interfacing with media distribution system 18 and viewinginformation display screen 300.

A search window 304 allows a user (e.g., user 14) to search for mediacontent. For example, user 14 may enter search terms (e.g., “ElvisPresley”) into search field 306, select the appropriate term type (e.g.,artist), and execute a query. In the event that multiple artists satisfythe query, a result set may be generated from which user 14 may selecte.g., the appropriate artist. Once the appropriate artist is selected,user 14 may review the various albums released by the selected artist(or that include tracks by the selected artist). User 14 may thendownload (for use on personal media device 12) one or more of thevarious tracks included within any of the albums. In addition to beingable to search for media content by artist, user 14 may also be able tosearch for media content by e.g., keyword, track, album and/or composer.

Additionally, in a fashion similar to that of client application 46,proxy application 98 may be configured to allow user 12 to render (viaproxy computer 54) one or more of the various tracks included within anyof the albums of the selected artist.

A content window 308 may be rendered by proxy application 98 that allowsuser 14 to review the contents of personal media device 12. As discussedabove, personal media device 12 may be coupled to proxy computer 54 viae.g., a USB port, serial port, or FireWire port. Upon or duringexecution of proxy application 98, proxy application 98 may pollpersonal media device 12 to retrieve information concerning the mediacontent currently on device 12. This polling may occur in a fashionsimilar to the manner in which the content of a USB hard drive isdetermined. In this particular example, content window 308 includes ten(10) entries, namely: “Jailhouse Rock”; “Surf City”; “Runaround Sue”;“The Wanderer”; “The Great Pretender”; “Blueberry Hill”; “I'm Walkin'”;“Blue Christmas”; “Yakety Yak”; and “Peggy Sue”, thus indicating thatten (10) media data files had been previously downloaded to personalmedia device 12, which are typically stored on storage device 66 ofpersonal media device 12.

Content window 308 may be tabular and itemize various pieces ofinformation concerning the downloaded files, including the track 310,the artist 312, the track length 314 and the track size 316.Additionally, proxy application 98 my poll personal media device 14 toretrieve device identification information, which may be rendered withina device type field 320 and a device serial number field 322 includedwithin content window 308. Further, content window 308 may include asummary information field 324 concerning the current capacity of device12, including one or more of e.g., “Unused Space” in gigabytes; “UsedSpace” in gigabytes; “Unused Space” in percentage of total capacity; and“Used Space” in percentage of total capacity, for example.

Referring also to FIG. 10 and continuing with the above-stated example,assume that user 14 enters the search term “Elvis Presley” into searchfield 306 of search window 304, selects the term type “artist” viadropdown menu 340, and executes the query by selecting the “Go” button342 with screen pointer 208.

Assuming that no other artist satisfies the query, information screen300 may be presented to user 14 with information concerning ElvisPresley, which may include: an artist information screen 344, a toptrack list 346, an album list 348, and a similar artist list 350, forexample.

User 14 may download media data files from media distribution system 18for use on personal media device 12 by selecting the download button 352corresponding to the track to be downloaded. Additionally, user 14 maydownload groups of tracks (e.g., each track included within top tracklist 346, or all tracks included within an single album) by selectingthe download all button 354 corresponding to the tracks to bedownloaded.

Once user 14 selects a track for downloading, proxy application 98 mayrender a download window 356 that e.g., includes a track title field 358that identifies the title of the track being downloaded and an artistfield 360 that identifies the artist of the track being downloaded.

As discussed above, files may be downloaded from media distributionsystem 18 as purchased downloads (i.e., media content licensed to e.g.,user 14 for use in perpetuity), or subscription downloads (i.e., mediacontent licensed to e.g., user 14 for use while a valid subscriptionexists with media distribution system 18). Provided user 14 has acurrent subscription with media distribution system 18, there istypically no additional fee charged for each subscription download, asthe downloaded media content is only renderable while the user has avalid subscription. However, a user typically must pay a fee (e.g., 790,890, or 990, for example) for each purchased download, as the mediacontent is renderable regardless of the status of the user'ssubscription.

Accordingly, download window 356 may include a purchase button 362 and adownload button 364, both of which are selectable via screen pointer208. In this example, if user 14 selects purchase button 362 with screenpointer 208, a media data file for “Hound Dog” by “Elvis Presley” willbe transferred from computer 28 to personal media device 12. Typically,user 14 will be charged e.g., a one-time download fee for downloadingthis media data file. However, as this is a purchased download, themedia data file received is renderable regardless of the status of theuser's subscription with media distribution system 18.

Alternatively, if user 14 selects download button 364 with screenpointer 208, a media data file for “Hound Dog” by “Elvis Presley” willbe transferred from computer 28 to personal media device 12. Typically,user 14 will not be charged a fee for downloading this media data file.However, as this is a subscription download, the media data filereceived is only renderable while user 14 has a valid subscription withmedia distribution system 18.

Download window 356 typically also includes a cancel button 366 forallowing user 14 to cancel the download and close download window 356.

If user 14 selects either purchase button 362 or download button 364,the download of the selected media data file will be initiated. Downloadwindow 356 may include a download status indicator 368 for indicatingthe progress of the download of e.g., “Hound Dog” by “Elvis Presley”.

Referring also to FIG. 11, once the download of the media data file for“Hound Dog” by “Elvis Presley” is completed, content window 308 will beupdated to include an entry 380 for “Hound Dog” by “Elvis Presley”,indicating that “Hound Dog” by “Elvis Presley” was successfullydownloaded from media distribution system 18 to personal media device12.

In a fashion similar to that described above concerning clientapplication 46, user 14 may use proxy application 98 to define playlistsconcerning various media data files stored on personal media device 12.For example, assume that user 14 wished to save the first thirteentracks (namely “Jailhouse Rock”; “Surf City”; “Runaround Sue”; “TheWanderer”; “The Great Pretender”; “Blueberry Hill”; “I'm Walkin'”; “BlueChristmas”; “Yakety Yak”; “Peggy Sue”; “Tutti Frutti”; “Chantilly Lace”;and “Great Balls of Fire”) as a playlist, user 14 would highlight thedesired selection of tracks (using screen pointer 208) and select thesave button 382 using screen pointer 208. A playlist naming window 384may be rendered (by proxy application 98) that allows user 14 to specifya unique name for the playlist within the name field 386 of playlistnaming window 384.

Assuming that user 14 selects “50's Hits” as a playlist name, playlist104 (FIG. 1) named “50's Hits” may be defined that locates (withinpersonal media device 12) all of the pieces of media content itemizedwithin playlist 104. Once playlist 104 is stored, a link 388 to playlist104 (e.g., “50's Hits”) appears in directory window 390. User 14 maythen select link 388 using screen pointer 208.

Once selected, the tracks included within playlist 104 (e.g., “50'sHits”) are typically itemized within a playlist window 392 (e.g., a webpage) viewable via user interface 302.

As with the playlists described above as being generated using clientapplication 44, playlists generated using proxy application 98 aretypically maintained locally (e.g., maintained on personal media device12). However and as discussed above, playlists mayalternatively/additionally be maintained remotely (e.g., maintained oncomputer 28) as remote playlist 104′.

DEVICE INITIALIZATION

Media distribution system 18 is typically a subscription-based service,in that e.g., user 14 subscribes to media distribution system 18 andpays e.g., a monthly subscription fee to be granted access to mediadistribution system 18. Once user 14 subscribes to media distributionsystem 18, user 14 may obtain media content (for use with personal mediadevice 12) in the form of: purchased downloads received from mediadistribution system 18 (i.e., media content licensed to e.g., user 14for use in perpetuity); subscription downloads received from mediadistribution system 18 (i.e., media content licensed to e.g., user 14for use while a valid subscription exists with media distribution system18); and media content streamed from media distribution system 18, forexample. Typically, when accessing media distribution system 18, user 14must provide user “credentials” that identify the user (e.g., user 14)and/or the device (e.g., device 12) to media distribution system 18.Upon receiving these credentials, media distribution system 18 mayattempt to verify the credentials and, if verified, grant user 14 and/ordevice 12 access to media distribution system 18. The credentialsreceived and verified by media distribution system 18 may include, butare not limited to, a user name, a user password, a user key, a devicename, a device password, a device key, and/or one or more digitalcertificates.

Typically, upon personal media device 12 being placed into dockingcradle 60, personal media device 12 establishes a connection with mediadistribution system 18 via proxy computer 54. As discussed above, Proxycomputer 54 may function as an Internet gateway for personal mediadevice 12 and, therefore, allow personal media device 12 to accesscomputer 28 and media distribution system 18.

Once a connection is establish with media distribution system 18, DRMprocess 10 may be initiated. DRM process 10 is typically executed at thetime personal media device 12 is initially configured (i.e., the firsttime personal media device 12 establishes a connection with mediadistribution system 18). As will be discussed below in greater detail,DRM process 10 may be systematically and repeatedly executed to verifythat device 12 (and/or user 14) are active subscribers of mediadistribution system 18.

Referring also to FIGS. 12a & 12 b, at the time of manufacture, personalmedia device 12 may include a private encryption key (e.g., deviceprivate key 400) and a public encryption key (e.g., device public key402) stored in non-volatile memory (e.g., ROM 152 and/or storage device66). Keys 400, 402 may be 1024-bit asymmetric encryption keys and may bereferred to as DRM (i.e., digital rights management) keys. .

As is known in the art, a private key/public key encryption methodologyallows users of an unsecure network (e.g., the Internet) to securelyexchange data through the use of a pair of encryption keys, namely theprivate encryption key (e.g., device private key 400) and the publicencryption key (e.g., device public key 402). The private key/public keyencryption methodology is typically referred to as an asymmetricencryption methodology, in that the key used to encrypt a message isdifferent than the key used to decrypt the message.

In private key/public key encryption, the private encryption key (e.g.,device private key 400) and the public encryption key (e.g., devicepublic key 402) are typically created simultaneously using the samealgorithm (e.g., the RSA algorithm created by Ron Rivest, Adi Shamir,and Leonard Adlemana, for example). Device private key 400 is typicallygiven only to the requesting party and device public key 402 istypically made publicly available (e.g., as part of digital certificate404). Typically, device private key 400 is not shared and is maintainedsecurely within e.g., personal media device 12.

Accordingly, when a secure message is to be sent from a sender to arecipient, the public key (e.g., device public key 402) of the recipient(which is readily accessible to the sender) is used to encrypt themessage. Once encrypted, the message may be sent to the recipient andcan only be decrypted using the recipient's private key (e.g., deviceprivate key 400). As private key 400 is maintained securely by therecipient, only the recipient can decrypt the encrypted message.

In addition to encrypting and decrypting messages, a sender mayauthenticate their identity by using their private key (e.g., deviceprivate key 400) to encrypt a digital certificate, which is then sent toa recipient (i.e., the person to which they are authenticating theiridentity). Accordingly, when the digital certificate is received by therecipient, the recipient can decrypt the encrypted digital certificateusing the sender's public key (e.g., device public key 402), thusverifying that the digital certificate was encrypted using the sender'sprivate key (e.g., device private key 400) and, therefore, verifying theidentity of the sender.

DRM process 10 may generate a challenge 406, which is typically a randomnumber generated by a random number generation process (not shown)included within personal media device 12. Once generated, challenge 406may be paired with device digital certificate 404 (which typicallyincludes device public key 402) to generate 450 a license request 408.Device digital certificate 404, which may be referred to as a DRMdigital certificate, may include additional information such as a deviceserial number (e.g., 137660523-1 from device serial number field 322,FIG. 9), for example.

As discussed above, proxy application 98 allows the owner of device 12(e.g., user 14) to: configure device 12 for use with media distributionsystem 18; and configure media distribution system 18 for use withdevice 12. Typically, when proxy application 98 is configured on proxycomputer 54, user 14 may be required to provide user credentials thatidentify the user (e.g., user 14) and define a valid subscription thatwould allow user 14, device 12, and proxy application 98 to access mediadistribution system 18. Alternatively or additionally, personal mediadevice 12 may be configured to allow the user (e.g., user 14) todirectly enter the user credentials (via device 12) when device 12 isinitially configured.

DRM process 10 may provide 452 license request 408 (via network 30and/or network 32) to media distribution system 18. Additionally, ifdefined within personal media device 12, a user ID 410 (e.g.,enumerating the user credentials described above) may also be includedwithin license request 408. As discussed above, the user credentials(i.e., included within user ID 410) may include, but are not limited to,a user name, a user password, a user key, a device name, a devicepassword, a device key, and/or one or more digital certificates. Priorto being provided 452 to media distribution system 18, DRM process 10may digitally sign 454 license request 408 using device private key 400.

A digital signature is an electronic signature that uses the private key/ public key encryption methodology (described above) and allows asender of a message to authenticate their identity and the integrity ofmessage sent. A digital signature may be used with both encrypted andnon-encrypted messages and does not impede the ability of the receiverof the message to read the message.

For example, assume that DRM process 10 digitally signed 454 licenserequest 408 prior to providing 452 license request 408 to mediadistribution system 18. When digitally signing 454 license request 408,a mathematical function is typically performed on the content of licenserequest 408. For example, a message hash of license request 408 may becalculated by personal media device 12, such that a message hash is themathematical output of a known one-way hash function that transforms astring of characters (e.g., license request 408) into a usually shorterfixed-length value that represents the original string of characters. Asthe hashing function is a one-way mathematical function, once a messagehash is generated, the original message cannot be retrieved byprocessing the message hash. DRM process 10 may then encrypt the messagehash (using device private key 400) to create the digital signature (notshown). This digital signature may then be attached to license request408. Accordingly, while the digital signature is encrypted, the originalmessage (i.e., license request 408) need not be. Therefore, licenserequest 408 may be processed by media distribution system 18 even if thedigital signature is not processed.

Continuing with the above-stated example, license request 408 and thedigital signature may be received by media distribution system 18, andmedia distribution system 18 may use the same hash function to generatea message hash of license request 408. Media distribution system 408will also decrypt the digital signature received from personal mediadevice 12 using device public key 402 (included within device digitalcertificate 404) to recreate the message hash calculated by personalmedia device 12. Media distribution system 18 may then compare thedecrypted digital signature to the message hash calculated by the mediadistribution system 408. If the message hashes match, the integrity oflicense request 408 and the identity of personal media device 12 areboth verified 456.

Additionally, the integrity of device digital certificate 404 (and,therefore, device public key 402) may be verified when license request408 is received from personal media device 12. Digital certificates aretypically issued and digitally signed by e.g., certification authority412 using CA private key 414. Accordingly, device digital certificate404 may be verified by obtaining the CA public key 416 to verify thedigital signature of device digital certificate 404.

Once challenge 406, device digital certificate 404, and user ID 410(i.e., license request 408) are received by media distribution system18, media distribution system 18 may access data store 418 to obtain 458subscription information concerning user 14 (i.e., the user definedwithin user ID 410) and determine e.g., the date at which the currentsubscription of user 14 will expire. Data store 418 may be maintained onstorage device 34 coupled to computer 28.

Assume, for illustrative purposes, that media distribution system 18 isconfigured to automatically bill each subscriber on the first of eachmonth for the subscription fee for the upcoming month. Accordingly, on 1Mar. 2005, user 14 will be billed for the cost of their March 2005subscription. Therefore, if media distribution system 18 obtains 458subscription information concerning user 14 on 6 Mar. 2005, thesubscription information obtained 458 will indicate that user 14 has avalid subscription until 31 Mar. 2005.

Accordingly and continuing with the above-stated example, when licenserequest 408 is received, media distribution system 18 may obtain 458subscription information concerning user 14. In this example, thesubscription information will indicate that user 14 is a validsubscriber (to media distribution system 18) through 31 Mar. 2005.

Media distribution system 18 may generate 460 a timeout indicator 420,which indicates e.g., the user's subscription information and theexpiration date of the user's current subscription. In this example,timeout indicator 420 will indicate that e.g., the subscription of user14 will expire on 31 Mar. 2005. Media distribution system 18 may obtainuser encryption key 422 (i.e., the encryption key for user 14) from datastore 418. Media distribution system 18 may then encrypt user encryptionkey 422, using device public key 402, to generate encrypted userencryption key 422′ (shown with a hash fill). Timeout indicator 420,challenge 406, device digital certificate 404 (including device publickey 402), user ID 410, and encrypted user encryption key 422′ may becombined 462 (by media distribution system 18) to form device license424.

Device license 424 may further include a system time indicator 426,which indicates the system time as defined by media distribution system18. System time indicator 426 may be used to synchronize a system clock194 (FIG. 3) included within personal media device 12 with a systemclock 428 included within media distribution system 18.

Device license 424 may further include a licensing service (i.e., LS)digital certificate 430, which typically includes a licensing service(i.e., LS) public key 432.

Media distribution system 18 may digitally sign 464 device license 424using licensing service (i.e., LS) private key 434 (of mediadistribution system 18) and provide 466 device license 424 to personalmedia device 12. Licensing system private key 434 may be stored on datastore 418.

When device license 424 is received from media distribution system 18,DRM process 10 may verify the integrity of LS digital certificate 430(and, therefore, LS public key 432). As discussed above, digitalcertificates are typically issued and digitally signed by e.g.,certification authority 412 using CA private key 414. Accordingly, LSdigital certificate 430 may be verified by obtaining the CA public key416 to verify the digital signature of LS digital certificate 430.

DRM process 10 may use LS public key 432 (included within LS digitalcertificate 430) to verify 468 device license 424 (which was digitallysigned using LS private key 434). DRM process 10 may additionally verifychallenge value 406, device public key 402, and the device serial number(included within device digital certificate 404) to ensure that devicelicense 424 is intended for personal media device 12. DRM process 10 maythen decrypt, with device private key 400, encrypted user encryption key422′ (that was encrypted using device public key 402) to generate userencryption key 422, which may be stored in non-volatile memory, examplesof which may include ROM 152 (FIG. 3) and/or storage device 66 (FIG. 3).User ID 410, user encryption key 422, and timeout indicator 420 may besaved on e.g., non-volatile memory, examples of which include ROM 152(FIG. 3) and/or storage device 66 (FIG. 3), for use when personal mediadevice 12 renders media content downloaded from media distributionsystem 18. Additionally, as will discussed below in greater detail, DRMprocess 10 may retain a copy of device license 424 for use whentransferring media content between personal media device 12 and e.g.,personal media device 40.

OBTAINING SUBSCRIPTION MEDIA CONTENT

As discussed above, once user 14 subscribes to media distribution system18, user 14 may obtain from media distribution system 18 media content(for use with personal media device 12) in the form of: purchaseddownloads received from media distribution system 18 (i.e., mediacontent licensed to e.g., user 14 for use in perpetuity); subscriptiondownloads received from media distribution system 18 (i.e., mediacontent licensed to e.g., user 14 for use while a valid subscriptionexists with media distribution system 18); and media content streamedfrom media distribution system 18, for example.

Referring also to FIGS. 13a & 13 b, each media data file 500, 502, 504,506, 508 downloadable from media distribution system 18 may be encrypted550 using a unique CEK (i.e., content encryption key) 510, 512, 514,516, 518 respectively. For example, if media distribution system 18includes 1,000,000 media data files available for downloading to e.g.,personal media device 12, media distribution system 18 will encrypt 550each media data file using a unique encryption key. Accordingly, for1,000,000 media data files, 1,000,000 unique CEK's will be required,each of which is bound 552 to the media data file to which the CEK isrelated. Accordingly, CEK 510 may be bound 552 to media data file 500,and CEK 512 may be bound 552 to media data file 502, for example.

Each CEK (e.g., keys 510, 512, 514, 516, 518) may be a symmetricencryption key, in that the key used to encrypt a media data file mayalso be used to decrypt the same media data file. Typically, each mediadata file may be stored on e.g., storage device 34 attached to computer28.

As discussed above, search window 304 (FIG. 10) of proxy application 98,may allow user 14 to search for media data files. Additionally, user 14may download media data files from media distribution system 18 for useon personal media device 12 by selecting the download button 352 (FIG.10) corresponding to the media data file to be downloaded.

Once the download of a media data file is initiated, personal mediadevice 12 may submit the appropriate download request(s) to mediadistribution system 18. For example, assume that user 14 wished todownload three media data files, namely media data files 500, 504, 506.DRM process 10 would submit download requests 520, 522, 524respectively, each of which requests the desired file. For security andauthentication purposes, download requests 520, 522, 524 may be e.g.,encrypted by personal media device 12 (using e.g., LS public key 432)and/or digitally signed by personal media device 12 (using e.g., deviceprivate key 400). Accordingly, if a download request is encrypted (usinge.g., LS public key 432), the encrypted download request maysubsequently be decrypted 554 by media distribution system 18 using LSprivate key 434. Further, if a download request is digitally signed(using e.g., device private key 400), the signed download request maysubsequently be verified 556 by media distribution system 18 usingdevice public key 402.

Once e.g., download requests 520, 522, 524 are received 558 andprocessed 554, 556 by media distribution system 18, media distributionsystem 18 may retrieve the requested media data files 500, 504, 506 frome.g., storage device 34. As discussed above, each media data file iscurrently encrypted using a unique CEK, such that the CEK is bound tothe media data file.

Prior to being downloaded to personal media device 12, each media datafile to be downloaded may be bound 560 to the user (e.g., user 14) whorequested the download. As discussed above, during deviceinitialization, personal media device 12 provides license request 408 tomedia distribution system 18. Media distribution system 18 in turnprocesses license request 408 and obtains current subscriptioninformation concerning the user associated with license request 408(e.g., user 14). As discussed above, this initialization process mayoccur periodically and, therefore, may occur at the time that personalmedia device 12 is placed into docking cradle 60 (FIG. 2). Accordinglyand for this example, assume that personal media device 12 has providedthe required user credentials to properly access media distributionsystem 18. As discussed above, the user credentials provided to mediadistribution system 18 may include, but are not limited to, a user name,a user password, a user key, a device name, a device password, a devicekey, and/or one or more digital certificates.

Once media distribution system 18 retrieves the requested media datafiles 500, 504, 506 from e.g., storage device 34, media distributionsystem 18 binds 560 the retrieved media data files 500, 504, 506 to user14 e.g., the user requesting the media data files, thus creating boundmedia data files 526, 528, 530. Accordingly, the content encryption key(e.g., CEK 510) associated with each media data file (e.g., media datafile 500) may be encrypted 562 using the encryption key (e.g., userencryption key 422) of the user requesting the media data files (e.g.,user 14). Accordingly, CEK 510 may be encrypted 562 to generate CEK510′, CEK 514 may be encrypted 562 to generate CEK 514′, and CEK 516 maybe encrypted 562 to generate CEK 516′. Once encrypted 562, bound mediadata files 526, 528, 530 (including encrypted CEK's 510′, 514′, 516′respectively) may be provided 564 to personal media device 12.

As the CEK of each bound media data file 526, 528, 530 may be encrypted562 using e.g., user encryption key 422, bound media data files 526,528, 530 may only be processed (e.g., rendered) by a personal mediadevice in possession of user encryption key 422. As discussed above, acopy of user encryption key 422 may be stored on non-volatile memorywithin personal media device 12. Once bound media data files 526, 528,530 are received by personal media device 12, files 526, 528, 530 may bestored on e.g., storage device 66 within personal media device 12.

SUBSCRIPTION MEDIA CONTENT PLAYBACK

As discussed above, user ID 410, user encryption key 422, and timeoutindicator 420 may be saved for use when personal media device 12 rendersmedia content downloaded from media distribution system 18.

Continuing with the above-stated example, if user 14 wishes to renderone of bound media data files 526, 528, 530, user 14 may select theappropriate media data file via the controls (e.g., backward skip switch78 (FIG. 3); forward skip switch 80 (FIG. 3); play/pause switch 82 (FIG.3); menu switch 84 (FIG. 3); radio switch 86 (FIG. 3); and sliderassembly 88 (FIG. 3), for example) and display panel 90 (FIG. 3) ofpersonal media device 12. Once one or more media data files are selectedfor playback, the appropriate file(s) are retrieved from e.g., storagedevice 66. As discussed above, prior to each media data file beingprovided to personal media device 12, the CEK of each media data filemay be encrypted (by media distribution system 18) using user encryptionkey 422. As discussed above, user encryption key 422 may be a symmetricencryption key and, therefore, the key used to e.g., encrypt CEK 510 mayalso be used to decrypt encrypted CEK 510′.

Once the appropriate bound media data files are retrieved from e.g.,storage device 66, DRM process 10 may decrypt the appropriate CEK (usinguser encryption key 422) so that the media data file can be processedand rendered on personal media device 12. For example, if user 14 wishedto render bound media data files 526, 528, personal media device 12would decrypt encrypted CEK 510′ to generate CEK 510. CEK 510 may thenbe used by DRM process 10 to decrypt media data file 500 for playback bypersonal media device 12. Further, DRM process 10 would decryptencrypted CEK 514′ to generate CEK 514. CEK 514 may then be used by DRMprocess 10 to decrypt media data file 504 for playback by personal mediadevice 12.

Typically, prior to processing and rendering e.g., bound media datafiles 526, 528, DRM process 10 will verify that e.g., user 14 hassufficient rights to process and render the bound media data files.

As discussed above, media distribution system 18 is typically asubscription-based service, in that e.g., user 14 subscribes to mediadistribution system 18 and pays e.g., a monthly subscription fee to begranted access to media distribution system 18. Further, user 14 mayobtain from media distribution system 18 subscription downloads thatallow user 14 to process and playback the subscription downloads onlywhile a valid subscription exists with media distribution system 18.

Assuming that bound media data files 526, 528, 530 are subscriptiondownloads (as opposed to purchased downloads that are licensed inperpetuity for use by user 14), prior to rendering and/or processingbound media data files 526, 528, 530, DRM process 10 may obtain timeoutindicator 420, which as discussed above may be stored on e.g.,non-volatile memory, examples of which include ROM 152 (FIG. 3) and/orstorage device 66 (FIG. 3). DRM process 10 may then compare theexpiration date (e.g., 31 March 2005) defined within timeout indicator420 to the date and/or time defined within system clock 194 to determineif e.g., user 14 is still allowed to render bound media data files 526,528, 530. In this example, as user 14 has a valid subscription through31 March 2005 and the current date and time (as defined by system clock194) is 17:53 GMT on 06 March 2005, the subscription of user 14 (withrespect to media distribution system 18) is valid and current.Accordingly, bound media data files 526, 528, 530 may be processed forplayback.

THE DIGITAL MILLENNIUM COPYRIGHT ACT

The Digital Millennium Copyright Act of 1998 may limit the number oftimes that a particular song, artist, or group of artists may berendered within a specified time interval. When rendering a sequence oftracks, the sequence may comply with the Digital Millennium CopyrightAct if e.g., over a three-hour time interval: (i) no more than threetracks from the same album are rendered; (ii) no more than twoconsecutive tracks from the same album are rendered; (iii) no more thanfour tracks from the same artist (i.e., individual/group) or anthologyare rendered; and (iv) no more than three consecutive tracks from thesame artist (i.e., individual/group) or anthology are rendered.

OBTAINING RADIO MEDIA CONTENT

As discussed above, the format of media content 16 received from mediadistribution system 18 may include: purchased downloads received frommedia distribution system 18 (i.e., media content licensed to e.g., user14 for use in perpetuity); subscription downloads received from mediadistribution system 18 (i.e., media content licensed to e.g., user 14for use while a valid subscription exists with media distribution system18); and media content streamed from media distribution system 18, forexample.

Personal media device 12/proxy computer 54, and client computer 44 mayreceive and process radio media content 124, 126 respectively. Radiomedia content 124, 126 may include of a plurality of tracks chosen froma specific music genre/time period and played in a sequence that iscompliant with e.g., The Digital Millennium Copyright Act. Typically,when a user (e.g., user 14) wishes to receive and process radio mediacontent (e.g., radio media content 124, 126), the user may select aradio station from a plurality of radio stations available to the userfrom media distribution system 18.

For example and referring also to FIG. 14, when using e.g., proxyapplication 98 to receive and process radio media content 124 from mediadistribution system 18, user 14 may be presented with a radioinformation screen 600 rendered by proxy application 98. Radioinformation screen 600 may include a radio spotlight screen 602 thatprovides information concerning a featured radio station. Additionally,radio information screen 600 may include a “Top Stations” screen 604that defines the most popular radio stations offered by mediadistribution system 18. The “Top Stations” list may be defined basedupon e.g., the total number of times that a radio station was accessedby users of media distribution system 18; the total duration of timethat a radio station was accessed by users of media distribution system18; and/or the total number of unique users of media distribution system18 that accessed a radio station, for example.

Radio information screen 600 may additionally include an availablestation screen 606 that defines the radio stations that are available tousers of media distribution system 18. Further, radio information screen600 may include a “My Stations” screen 608 that itemizes one or moreradio stations 610, 612, 614, 616 that a user (e.g., user 12) defined astheir “favorite” radio stations. For example, if user 14 wished to addthe radio station “60s Rock” 618 to their “My Stations” screen 608, user14 may select (using screen pointer 208) the “add” button 620 adjacentthe radio station “60s Rock” 618, resulting in the generation of a fifthentry (not shown) in “My Stations” screen 608 that defines radio station“60s Rock” 618. Additionally, when user 14 wishes to listen to a radiostation, user 14 may select the play button (e.g., play button 622)associated with the radio station (e.g., “50s Rock ‘n’ Roll” 612) thatthey wish to listen to. Alternatively, when user 14 wishes to remove aradio station from “My Stations” screen 608, user 14 may select the“remove station” button 624 associated with the radio station (e.g.,“50s Rock ‘n’ Roll” 612) that they wish to remove. User 14 may accessradio information screen 600 by selecting the “radio” link 626 includedwithin directory window 390 using e.g., screen pointer 208.

While radio content is discussed above as being playable via proxyapplication 98 and, therefore, proxy computer 54, other configurationsare possible. For example, radio media content may also be playable viaclient application 46 and, therefore, client computer 44.

As discussed above, media content may be streamed from mediadistribution system 18 and, typically, in order for a device to receiveand process a media data stream from e.g., computer 28, the device musthave an active connection to computer 28 and, therefore, mediadistribution system 18. As proxy computer 54 and client computer 44 areactively connected to media distribution system 18, proxy computer 54and client computer 44 may receive and process radio media content 124,126 which is typically streamed from media distribution system 18.

As discussed above, radio media content is typically rendered in asequence that is compliant with e.g., The Digital Millennium CopyrightAct. As radio media content 124, 126 is typically streamed from computer28 for playback on proxy computer 54 and/or client computer 44(respectively), the rendering sequence of the individual tracks withinradio media content 124, 126 is controllable by media distributionsystem 18 and, therefore, may be configured to be compliant with e.g.,The Digital Millennium Copyright Act.

In addition to radio media content being streamed to devices (e.g.,proxy computer 54 and client computer 44), radio media content may becached for playback on devices that do not have an active connection tomedia distribution system 18, example of which include personal mediadevices 12, 40, 42.

When caching radio media content 124 for playback on e.g., personalmedia device 12, the individual tracks within radio media content 124are typically retrieved from media distribution system 18 assubscription downloads. As discussed above, a subscription download ismedia content that is licensed to e.g., user 14 for use while a validsubscription exists with media distribution system 18. Further and asdiscussed above, when personal media device 12 is initialized, a devicelicense 424 (FIG. 12a ) is generated for personal media device 12.Device license 424 may include a timeout indicator 420 (FIG. 12a ) thatindicates e.g., the user's subscription information and the expirationdate of the user's current subscription. Accordingly and as discussedabove, prior to rendering and/or processing one or more of thesubscription downloads included within radio media content 124, DRMprocess 10 (FIG. 1) of personal media device 12 may obtain timeoutindicator 420 from device license 424 to determine if e.g., user 14 isstill allowed to render the subscription downloads included within radiomedia content 124.

Typically, when radio media content 124 is provided to personal mediadevice 12, a plurality of subscription downloads, meeting therequirements (e.g., genre and/or time period, for example) of the radiostation, may be retrieved from media distribution system 18. The mediacontent may be referred to as seed content. The exact number ofsubscription downloads retrieved may vary depending on governing lawsand policies, examples of which include (but are not limited to) theDigital Millennium Copyright Act, the ASCAP (i.e., the American Societyof Composers, Authors, and Publishers) policies, and the BMI (i.e.,Broadcast Music, Inc.) policies. For example, while the minimum numberof subscription downloads included within radio media content 124 may bedefined as low as e.g., eighty, that number may be increasedconsiderably (e.g., up to greater than five-hundred subscriptiondownloads) depending on e.g., the storage capacity of the device (e.g.,personal media device 12), the policy guidelines established by mediadistribution system 18, and/or the governing laws and policies (e.g.,The Digital Millennium Copyright Act, ASCAP and BMI), for example.

As discussed above and referring also to FIGS. 15a & 15 b, to adhere toe.g., The Digital Millennium Copyright Act, the individual subscriptiondownloads (included within radio media content 124) need to be renderedin a specific sequence, which is controlled by a radio playlist 650.

Continuing with the above-stated example, assume that user 14 wishes torender radio media content 124 on personal media device 12.Specifically, assume that user 14 wishes to listen to the radio station“50s Rock ‘n’ Roll” 612 and, therefore, selects play button 622 usingproxy application 98 running on proxy computer 54. Proxy computer 54 mayprovide a radio content request 652 to media distribution system 18. Forsecurity and authentication purposes, radio content request 652 may bee.g., encrypted and/or digitally signed (as discussed above) prior tobeing provided to media distribution system 18. Once radio contentrequest 652 is received by media distribution system 18, mediadistribution system 18 may process 700 radio content request 652 andretrieve media content that meets the criteria of the selected radiostation. For example, radio station “50s Rock ‘n’ Roll” 612 may includea music genre requirement (i.e., Rock ‘n’ Roll) and a time periodrequirement (i.e., the 50s).

In response to this request, media distribution system 18 may obtain 702a defined number of subscription downloads that meets the requirementsof the selected radio station. Assume for illustrative purposes thatmedia distribution system 18 selects five-hundred tracks (i.e.,subscription downloads) to be included in the seed content. Accordingly,five-hundred subscription downloads (e.g., media data files 654, 656,658, 660, 662) may be retrieved from storage device 34. As discussedabove, media distribution system 18 may encrypt 704 each of the mediadata files 654, 656, 658, 660, 662 using a unique CEK 664, 666, 668,670, 672 respectively, each of which is bound 706 to the media data fileto which the CEK is related. Accordingly and for example, CEK 664 may bebound to media data file 654, and CEK 666 may be bound to media datafile 656, for example.

As discussed above, prior to a subscription download being provided topersonal media device 12, each subscription download may be bound 708 tothe user (e.g., user 14) who requested the media data file. This bindingprocess may be accomplished by encrypting the CEK of the media data fileusing the user encryption key of the user requesting the subscriptiondownload.

Accordingly, prior to media data files 654, 656, 658, 660, 662 beingprovided to personal media device 12, the CEK of each media data filemay be encrypted 710 using a radio encryption key 674 associated withthe user (e.g., user 14) who requested the radio media content. As theidentity of user 14 may be known (via a user ID 674 included withinradio content request 652), media distribution system 18 may obtainradio encryption key 674 (i.e., the radio encryption key for user 14)from data store 418.

Media distribution system 18 may bind 708 media data files 654, 656,658, 660, 662 to user 14 (i.e., the user requesting the media datafiles), thus creating bound media data files 676, 678, 680, 682, 684(i.e., collectively referred to as seed content 686). Accordingly, thecontent encryption key (e.g., CEK 664) associated with each media datafile (e.g., media data file 654) may be encrypted 710 using radioencryption key 674 to form the encrypted content encryption key (e.g.,encrypted CEK 664′). Further, CEK 666 may be encrypted 710 to generateencrypted CEK 666′, CEK 668 may be encrypted 710 to generate encryptedCEK 668′, CEK 670 may be encrypted 710 to generate encrypted CEK 670′,and CEK 672 may be encrypted 710 to generate encrypted CEK 672′.

Once the CEKs are encrypted 710, bound media data files 676, 678, 680,682, 684 (including encrypted CEK's 664′, 666′, 668′, 670′, 672′respectively) may be provided 712 to proxy computer 54. Additionally,seed content list 688 may be generated 714 and provided to proxycomputer 54, which identifies the individual subscription downloads(e.g., bound media data files 676, 678, 680, 682, 684) included withinseed content 686.

Further, radio encryption key 674 (which is required to decryptencrypted CEKs 664′, 666′, 668′, 670′, 672′) may be provided to proxycomputer 54. Typically, prior to providing radio encryption key 674 toproxy computer 54, radio encryption key 674 may be encrypted using proxypublic key 690 (which may be stored on data store 418 of mediadistribution system 18). Once received by proxy computer 54, radioencryption key 674 may be decrypted using proxy private key 692 (whichmay be stored on storage device 99 of proxy computer 54). Alternatively,prior to providing radio encryption key 674 to proxy computer 54, radioencryption key 674 may be encrypted using device public key 402 (whichmay be stored on data store 418 of media distribution system 18). Oncereceived by proxy computer 54, the encrypted radio encryption key 674may be provide to personal media device 12, for decryption using deviceprivate key 400 (FIG. 12a ).

As discussed above, radio playlist 650 may define a rendering sequencefor all or a portion of the subscription downloads included within seedcontent 686. Continuing with the above-stated example, radio playlist650 may provide a unique rendering sequence for the five-hundredsubscription downloads included within seed content 686. Alternatively,radio playlist 650 may provide a unique rendering sequence for only aportion of the subscription downloads included within seed content 686.For example, a unique rendering sequence may be defined for the firstthree-hundred (of the available five-hundred) subscription downloadsincluded within seed content 686, with the remaining two-hundredsubscription downloads being held in reserve. Therefore, in the eventthat a user decides to skip a song while rendering the playlist, one ofthe songs held in reserve may be used to replace the song skipped(provided that the “revised” rendering sequence adheres to e.g., TheDigital Millennium Copyright Act.

While radio playlist 650 is described as being generated 716 by mediadistribution system 18 and provided 718 to proxy computer 54, otherconfigurations are possible. For example, radio playlist 650 may bee.g., generated 716 by proxy computer 54 and provided 718 to personalmedia device 12; or generated 716 by personal media device 12.Additionally, while radio playlist 650 is described above as being asingle radio playlist, other configurations are possible. For example,media distribution system 18 may generate and provide (to e.g., proxycomputer 54) multiple radio playlists.

Referring also to FIGS. 16a & 16 b, once received 800 by proxy computer54, radio playlist 650, radio encryption key 674, seed content 686 andseed content list 688 may be stored on e.g., storage device 99 of proxycomputer 54.

As discussed above, radio encryption key 674 may be encrypted (by mediadistribution system 18) using device public key 402 (i.e., the publickey of personal media device 12). If so, encrypted radio encryption key674 may be provided to personal media device 12 for decryption usingdevice private key 400. Alternatively and as discussed above, radioencryption key 674 may be encrypted using proxy public key 690. If so,encrypted radio encryption key 674 may be decrypted using proxy privatekey 692 and subsequently encrypted using device public key 402 prior tobeing provided to personal media device 12 (for decryption using deviceprivate key 400).

As seed content 686 may be considerably large, the process of receiving800 seed content 686 from media distribution system 18 may be configuredto operate in the background, thus allowing proxy computer 54 to be usedfor other tasks while seed content 686 is being downloaded from mediadistribution system 18. Additionally and for similar reasons, personalmedia device 12 need not be coupled to proxy computer 54 during thedownload process, thus allowing user 14 to uncouple (from proxy computer54) and operate personal media device 12 while seed content 686 is beingdownloaded from media distribution system 18.

Once seed content 686 is received 800 by proxy computer 54, seed content686 may be processed 750 prior to being provided to personal mediadevice 12. For example, each bound media data file 676, 678, 680, 682,684 may be divided 750 into a plurality of radio chunk files. Forexample, bound media data file 676 may be divided 750 into six radiochunk files, namely radio chunk files 676-1, 676-2, 676-3, 676-4, 676-5,676-6. Typically, with the exception of the last radio chunk file (i.e.,radio chunk file 676-6), the radio chunk files may all be equal inlength. For example, assuming that bound media data file 676 is 5.28megabytes in size, the corresponding radio chunk files 676-1, 676-2,676-3, 676-4, 676-5 may each be 1.00 megabytes in size, with radio chunkfile 676-6 being 0.28 megabytes in size. Alternatively, bound media datafile 676 may be divided 750 into six equally-sized radio chunk files(i.e., each having a size of 0.88 megabytes).

In addition to bound media data files being divided 750 into radio chunkfiles, the resulting radio chunk files may be mixed 752 together toenhance the security of bound media data files 676, 678, 680, 682, 684.For example, assume that bound media data file 676 is divided 750 in sixradio chunk files 676-1, 676-2, 676-3, 676-4, 676-5, 676-6, such thatradio chunk files 676-1, 676-2, 676-3, 676-4 are each 1.00 megabyte insize and radio chunk files 676-5, 676-6 are 0.64 megabytes in size.Equally-sized radio chunk files 676-1, 676-2 may be mixed 752 together;equally-sized radio chunk files 676-3, 676-4 may be mixed 752 together;and equally-sized radio chunk files 676-5, 676-6 may be mixed 752together.

For illustrative purposes, when mixing 752 the radio chunk files (e.g.,radio chunk files 676-1, 676-2, 676-3, 676-4, 676-5, 676-6) of a boundmedia data file (e.g., media data file 676), one or more processes maybe executed. For example, the odd words of radio chunk file 676-1 may bereplaced with the odd words of radio chunk file 676-2, and the odd wordsof radio chunk file 676-2 may be replaced with the odd words of radiochunk file 676-1 (resulting in a swapping of odd words between radiochunk files 676-1, 676-2). Additionally, the odd words of radio chunkfile 676-3 may be replaced with the odd words of radio chunk file 676-4,and the odd words of radio chunk file 676-4 may be replaced with the oddwords of radio chunk file 676-3 (resulting in a swapping of odd wordsbetween radio chunk files 676-3, 676-4). Further, the odd words of radiochunk file 676-5 may be replaced with the odd words of radio chunk file676-6, and the odd words of radio chunk file 676-6 may be replaced withthe odd words of radio chunk file 676-5 (resulting in a swapping of oddwords between radio chunk files 676-5, 676-6).

In addition to the mixing process described above, other methodologiesmay be employed. For example, the individual data chunk files may beXOR'd with radio encryption key 674.

Once bound media data files 676, 678, 680, 682, 684 are processed 750and mixed 752, prior to being provided to personal media device 12, thevarious radio chunk files are distributed and stored 754 so that e.g.,the radio chunk files are not sequentially order. For example, prior todistribution, radio chunk file 676-1 may be followed (in memory) byradio chunk file 676-2, which may be followed (in memory) by radio chunkfile 676-3, which may be followed (in memory) by radio chunk file 676-4,which may be followed (in memory) by radio chunk file 676-5, which maybe followed (in memory) by radio chunk file (676-6). Accordingly, priorto being transferred to personal media device 12, the various radiochunk files may be distributed and stored 752 to form modified seedcontent 686′, which may be in a less sequential order than seed content686.

When distributing and storing 754 the radio chunk files, the radio chunkfiles may be distributed and stored 754 in a random fashion oralgorithmically. Referring also to FIGS. 17a & 17 b, modified seedcontent 686′ is shown located within storage device 66, such that (forillustrative purposes) the individual memory locations within storagedevice 66 are divided into columns 850 (e.g., columns A-F) and rows 852(Rows 1-500). As shown, the memory locations within Row 1 of storagedevice 66 include radio chunk files 680-1, 680-4, 676-3, 676-4, 684-5,676-6. Accordingly, radio chunk files 680-1, 680-4, 676-3, 676-4, 684-5,676-6 are not sequentially ordered.

As discussed above, the positioning of the individual radio chunk fileswithin the 3,000 available memory locations (e.g., 6 Columns×500 Rows)may be accomplished randomly . For example, the memory location of radiochunk file 676-1 may be randomly selected from the 3,000 availablelocations. Assuming that location 2C is chosen, the location of radiochunk file 676-2 may be randomly selected from the remaining 2,999memory locations (i.e., all memory locations except location 2C).Assuming that location 3D is chosen, the location of radio chunk file676-3 may be randomly selected from the remaining 2,998 memory locations(i.e., all memory locations except locations 2C & 3D). This process maybe continued until all radio chunk files are located within storagedevice 66.

While this distribution and storage 754 of radio chunk files isdescribed above as being performed by proxy computer 54 prior totransferring modified seed content 686′ to personal media device 12,other configurations are possible. For example, seed content 686 may betransferred to personal media device 12 in its original (i.e.,unmodified) form, such that seed content 686 is subsequently modified bypersonal media device 12 to generate modified seed content 686′.

Seed content list 688 may be appended and stored 802 to include locationinformation concerning the various radio chunk files of a bound mediadata file, thus forming modified seed content list 688′. As discussedabove and continuing with the above stated example, bound media datafile 676 may have been divided 750 into six radio chunk files, namelyradio chunk file 676-1, 676-2, 676-3, 676-4, 676-5, 676-6. Additionallyand as discussed above, these radio chunk files may have been mixed 752together. Accordingly, in order to render bound media data file 676 (tobe discussed below in greater detail), the location of the individualradio chunk files (i.e., radio chunk file 676-1, 676-2, 676-3, 676-4,676-5, 676-6) that constitute bound media data file 676 may be definedwithin appended seed content list 688′, which is provided to personalmedia device 12.

As discussed above, seed content list 688 may identify the individualsubscription downloads (e.g., bound media data files 676, 678, 680, 682,684) included within seed content 686. Therefore, seed content list 688may include e.g., an entry 854 that defines “Yakety Yak” (i.e., boundmedia data file 676) and an entry 856 that defines “Peggy Sue” (i.e.,bound media data file 678).

Accordingly, entry 854 (within modified seed content list 688′) for“Yakety Yak” (i.e., bound media data file 676) may be modified toinclude 2C, 3D, 1C, 1D, 4D, 1F (i.e., the memory locations of radiochunk files 676-1, 676-2, 676-3, 676-4, 676-5, 676-6, respectively); andentry 856 (within modified seed content list 688′) for “Peggy Sue”(i.e., bound media data file 678) may be modified to include 2A, 4C, 3A,500C, 2E, 4A (i.e., the memory locations of radio chunk files 678-1,678-2, 678-3, 678-4, 678-5, 678-6, respectively), for example.

Alternatively, instead of (or in addition to) appending and storing 802seed content list 688 (to generate modified seed content list 688′),radio playlist 650 may be appended to include the above-described memorylocations, thus defining a modified radio playlist (not shown). Further,a mapping file (not shown) may be generated to define theabove-described memory locations. Additionally and as discussed above,the various radio chunk files of a bound media data file may be locatedalgorithmically within storage device 66. Accordingly, a memory locationalgorithm (as opposed to modified seed content list 688′) may be used todefine the above-described memory locations.

As discussed above, seed content 686 may be transferred to personalmedia device 12 in its original (i.e., unmodified) form, such that seedcontent 686 is subsequently modified by personal media device 12 togenerate modified seed content 686′. If so, modified seed content list688′ may be generated by personal media device 12.

RADIO MEDIA CONTENT PLAYBACK

Once the various radio chunk files that constitute bound media datafiles 676, 678, 680, 682, 684 are provided to personal media device 12,bound media data files 676, 678, 680, 682, 684 (which, for illustrativepurposes, represents 500 subscriptions downloads included within radiomedia content 124) may be rendered by personal media device 12.

Continuing with the above-stated example, if user 14 wishes to renderradio media content 124, user 14 may select radio switch 86 (FIG. 3),resulting in device application 64 (FIG. 1) rendering a list of“available” radio stations on display panel 90 (FIG. 3). Typically, aradio station will only be listed as “available” if radio media content124 for the radio station was previously retrieved from mediadistribution system 18. As radio media content 124 was retrieved forradio station “50s Rock ‘n’ Roll” 612 (FIG. 14), user 14 may selectradio station “50s Rock ‘n’ Roll” 612 using e.g. slider assembly 88(FIG. 3) and may request 900 playback using e.g., play/pause switch 82(FIG. 3).

Once the appropriate radio station is selected, DRM process 10 (FIG. 1)retrieves the appropriate file(s) from e.g., storage device 66. Forexample, radio playlist 650 and modified seed content list 688′ may beretrieved by DRM process 10. Typically, when rendering radio mediacontent 124, radio playlist 650 is sequentially processed, such that theindividual tracks listed within radio playlist 650 are sequentiallyrendered. For example and as shown in playlist 650, “Surf City” 858 maybe played, flowed by “I′m Walkin” 860, followed by “The Great Pretender”862, followed by “Hound Dog” 864, followed by “Great Balls of Fire” 866,followed by “Blue Christmas” 868, followed by “The Wanderer” 870,followed by “Tutti Frutti” 872, followed by “Chantilly Lace” 874,followed by “Peggy Sue” 876, and so on.

As discussed above, the individual radio chunk files that make up abound media data file may be distributed on e.g., storage device 66.Accordingly, modified seed content list 688′ may be processed 902 by DRMprocess 10 to locate the relevant radio chunk files within storagedevice 66. For example, assume that personal media device 12 justfinished rendering “The Wanderer” 870. Pointer 878 may be incremented topoint to “Tutti Frutti” 872, which corresponds to bound media data file680. DRM process 10 may process 902 modified seed content list 688′ todetermine the locations of radio chunk files 680-1, 680-2, 680-3, 680-4,680-5, 680-6 (i.e., the six radio chunk files that constitute boundmedia data file 680). Accordingly, upon DRM process 10 processing 902modified seed content list 688′, the locations of radio chunk files680-1, 680-2, 680-3, 680-4, 680-5, 680-6 are determined to be 1A, 500B,3B, 1B, 500A, 500F, respectively. Accordingly, radio chunk files 680-1,680-2, 680-3, 680-4, 680-5, 680-6 may be retrieved 904 from memorylocations 1A, 500B, 3B, 1B, 500A, 500F (respectively) within e.g.,storage device 66.

As discussed above, prior to being distributed 754, radio chunk files680-1, 680-2, 680-3, 680-4, 680-5, 680-6 may have been mixed 752together to enhance data security. As discussed above, the odd words ofa first radio chunk file may be replaced with the odd words of secondradio chunk file, and the odd words of the second radio chunk file maybe replaced with the odd words of a first radio chunk file (resulting ina swapping of odd words between the first and second radio chunk files).Accordingly, radio chunk files 680-1, 680-2, 680-3, 680-4, 680-5, 680-6may be processed 906 by DRM process 10 in a fashion that nullifies theoriginal mixing procedure 752. For example, radio chunk files 680-1,680-2, 680-3, 680-4, 680-5, 680-6 may be returned to their original formby swapping odd words between pairs of radio chunk files, in turnnullifying the original odd word swapping procedure.

Once radio chunk files 680-1, 680-2, 680-3, 680-4, 680-5, 680-6 areprocessed 906 to return them to their original form, radio chunk files680-1, 680-2, 680-3, 680-4, 680-5, 680-6 are processed 908 by DRMprocess 10 to form bound media data file 680 (i.e., the bound media datafile from which radio chunk files 680-1, 680-2, 680-3, 680-4, 680-5,680-6 were generated).

As discussed above, prior to each media data file being provided topersonal media device 12, the CEK of each media data file may have beenencrypted (by media distribution system 18) using radio encryption key674. In a fashion similar to user encryption key 422, radio encryptionkey 674 may be a symmetric encryption key and, therefore, the key usedto e.g., encrypt CEK 664 may also be used to decrypt encrypted CEK 664′.

When radio encryption key 674 is provided to personal media device 12(from either media distribution system 18 or proxy computer 54), radioencryption key 674 may have been encrypted using device public key 402.Accordingly, radio encryption key 674 may be decrypted using deviceprivate key 400.

Once e.g., bound media data file 680 is formed from e.g., radio chunkfiles 680-1, 680-2, 680-3, 680-4, 680-5, 680-6, DRM process 10 maydecrypt 910 the appropriate CEK (using radio encryption key 674) so thatthe media data files can be processed and rendered 912 on personal mediadevice 12. Continuing with the above- stated example, when playlist 650indicates (via incrementing pointer 878) that e.g., “Tutti Frutti” 872is to be rendered 912, DRM process 10 locates 902 radio chunk files680-1, 680-2, 680-3, 680-4, 680-5, 680-6 within storage device 66 usingmodified seed content list 688′ (or a memory location algorithm,described above). Once located 902, radio chunk files 680-1, 680-2,680-3, 680-4, 680-5, 680-6 are retrieved 904 from storage device 66,processed 906 to return radio chunk files 680-1, 680-2, 680-3, 680-4,680-5, 680-6 to their original form, and processed 908 to form boundmedia data file 680 (i.e., the bound media data file corresponding to“Tutti Frutti” 872), which includes encrypted CEK 668′ and media datafile 658.

DRM process 10 may decrypt 910 (using radio encryption key 674)encrypted CEK 668′ to generate CEK 668 (i.e., the CEK bound to mediadata file 658). CEK 668 may then be used by DRM process 10 to decrypt910 media data file 658 for playback by personal media device 12. Thisprocess may be repeated for each track specified in radio playlist 650.

Typically, prior to processing and rendering e.g., bound media data file676, DRM process 10 will verify that e.g., user 14 has sufficient rightsto process and render the bound media data files.

As discussed above, media distribution system 18 is typically asubscription-based service, in that e.g., user 14 subscribes to mediadistribution system 18 and pays e.g., a monthly subscription fee to begranted access to media distribution system 18. Further, user 14 mayobtain from media distribution system 18 subscription downloads thatallow user 14 to process and playback the subscription downloads onlywhile a valid subscription exists with media distribution system 18.

As radio media content 124 includes bound media data files 676, 678,680, 682, 684 and (as discussed above) bound media data files 676, 678,680, 682, 684 are subscription downloads, prior to rendering and/orprocessing bound media data files 676, 678, 680, 682, 684, DRM process10 may obtain timeout indicator 420 and compare the expiration date(e.g., 31 Mar. 2005) defined within timeout indicator 420 to the dateand/or time defined within system clock 194 to determine if e.g., user14 is still allowed to render bound media data files 676, 678, 680, 682,684. In this example, as user 14 has a valid subscription through 31Mar. 2005 and the current date and time (as defined by system clock 194)is 17:53 GMT on 6 Mar. 2005, the subscription of user 14 (with respectto media distribution system 18) is valid and current. Accordingly,bound media data files 676, 678, 680, 682, 684 (i.e., radio mediacontent 124) may be processed for playback.

User encryption key 422 and radio encryption key 674 are described aboveas typically being a symmetric encryption key, in that the same key thatmay be used to encrypt a CEK may also be used to decrypt the encryptedversion of the CEK. Further and as described above, the same userencryption key 422 and radio encryption key 674 may be used to encryptall CEK's. Therefore, if five-hundred bound media data files aredownloaded to and stored upon personal media device 12, the same userencryption key 422 and radio encryption key 674 may be used to decrypteach of the five-hundred encrypted CEKs. However, other configurationsof user encryption key 422 and radio encryption key 674 are possible.

For example, user encryption key 422 and radio encryption key 674 may besymmetric key blocks, as opposed to a single symmetric key. Referringalso to FIG. 18, there is shown a 32-byte (i.e., 256-bit) symmetric keyblock 950. Assume for this example that a 16-byte (i.e., 128-bit) key isused to encrypt and decrypt each encrypted CEK. Through the use of onee.g., 256-bit symmetric key block 950, multiple 128-bit symmetric keys(e.g., encryption keys 952, 954, 956, 958 may be defined. For example, afirst encryption key 952 may be defined as bits 000-127 of symmetric keyblock 950. A second encryption key 954 may be defined as bits 004-131 ofsymmetric key block 950. A third encryption key 956 may be defined asbits 128-255 of symmetric key block 950. And a fourth encryption key 958may be defined as bits 124-251 of symmetric key block 950. Accordingly,a plurality of unique symmetric encryption keys may be defined using asingle symmetric key block 950. Therefore, to properly define theindividual encryption keys, in this particular example, a bit shiftparameter 960 may be defined for each encryption key 952, 954, 956, 958,which defines the starting point of the respective key. For example,encryption key 952 starts at bit-0 of symmetric key block 950 and,therefore, has a bit shift 960 of 0-bits. As encryption key 954 startsat bit-4 of symmetric key block 950, encryption key 954 has a bit shift960 of 4-bits. As encryption key 956 starts at bit-128 of symmetric keyblock 950, encryption key 956 has a bit shift 960 of 128-bits. Asencryption key 958 starts at bit-124 of symmetric key block 950,encryption key 958 has a bit shift 960 of 124-bits.

While various encryption keys are defined within symmetric key block 950by shifting the starting point of each individual encryption key, otherconfigurations are possible. For example, keys may be defined using onlyodd or even bits in conjunction with a bit shift. Additionally and/oralternatively, keys may be defined within symmetric key block 950algorithmically, in that an algorithm may be used to define theindividual bits used (within symmetric key block 950) to define a uniqueencryption key. Additionally, a single symmetric key block 950 may beused to define both user encryption key 422 and radio encryption key674.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made. Accordingly, otherimplementations are within the scope of the following claims.

1-50 (canceled)
 51. A cellular client electronic device that is capable,when the cellular client electronic device is in operation, ofwirelessly communicating with a remote server system via an Internetnetwork, the cellular client electronic device comprising: an antennaassembly for use, at least in part, in wireless communication with theremote server system via the Internet network, when the cellular clientelectronic device is in the operation; a display subsystem; a processor;storage capable of storing, at least in part, client applicationinstructions that are capable of being executed, at least in part, bythe processor, the client application instructions, when executed, atleast in part, by the processor resulting, at least in part, in thecellular client electronic device being capable of performing operationscomprising: receiving, at least in part, via a user interface of thecellular client electronic device, at least one user input thatrequests, at least in part, accessing of a media playlist stored, atleast in part, in the cellular client electronic device and/or in theremote server system, the media playlist being capable of comprisingmedia data items that are to be played at the cellular client electronicdevice in a sequence defined, at least in part, by the media playlist,the media data items being capable of comprising a media data item andanother media data item, the media data item to be stored, at least inpart, in the storage, the another media data item to be stored, at leastin part, at the remote server system, the another media data item beingunavailable for retrieval, at least in part, from the storage forplaying by the cellular client electronic device; displaying, at leastin part, via the display subsystem, the media playlist; displaying, atleast in part, via the display subsystem, at least one icon inassociation with the another media data item and the media playlist, theat least one icon being to indicate that the another media data item isstored, at least in part, at the remote server system instead of beingstored, at least in part, in the storage; and receiving, at least inpart, via the user interface, at least one additional user input thatrequests playing, at least in part, of the media playlist, the playing,at least in part, of the media playlist being capable of being based, atleast in part, upon: at least one media stream to be received, at leastin part, from the remote server system via the Internet network, for usein the playing of the media playlist, the at least one media stream tocorrespond, at least in part, to the another media data item.
 52. Thecellular client electronic device of claim 51, wherein: the storagecomprises flash storage; the cellular client electronic device also iscapable, when the cellular client electronic device is in the operation,of executing an operating system that is based, at least in part, upon aLinux operating system; and the media data item and the another mediadata item comprise media tracks.
 53. The cellular client electronicdevice of claim 51, wherein: the cellular client electronic device iscapable, when the cellular client electronic device is in the operation,of wirelessly receiving at least one portion of the at least one mediastream from the remote server system only while an active communicationconnection exists between the cellular client electronic device and theremote server system, the at least one portion of the at least one mediastream to be stored temporarily in the storage.
 54. The cellular clientelectronic device of claim 51, wherein: the cellular client electronicdevice is capable, when the cellular client electronic device is in theoperation, of displaying, via the display subsystem, respective icons inassociation with respective media data items in the media playlist; andthe respective icons are to indicate whether the respective media dataitems are stored in the remote server system or in the cellular clientelectronic device.
 55. The cellular client electronic device of claim51, wherein: the media playlist is capable of being associated with atleast one user selected genre, the at least one user selected genrebeing at least one of a plurality possible genres; and the remote serversystem is capable of storing: respective users' musical preference data;metadata associated with the media data items of the media playlist; andlistening trend data.
 56. The cellular client electronic device of claim51, wherein: the cellular client electronic device comprises: a cellulartelephone; personal data assistant device; and/or wireless email device.57. The cellular client electronic device of claim 51, wherein: thedisplay subsystem comprises a liquid crystal display or a light emittingdiode display.
 58. One or more non-transitory storage media storingprogram instructions for execution by a cellular client electronicdevice, the cellular client electronic device comprising an antennaassembly, a display subsystem, and storage, the antenna assembly beingfor use, when the cellular client electronic device is in operation, inwireless communication with a remote server system via an Internetnetwork, the execution of the program instructions by the cellularclient electronic device resulting in the cellular client electronicdevice being configured to perform operations comprising: receiving, atleast in part, via a user interface of the cellular client electronicdevice, at least one user input that requests, at least in part,accessing of a media playlist stored, at least in part, in the cellularclient electronic device and/or in the remote server system, the mediaplaylist being capable of comprising media data items that are to beplayed at the cellular client electronic device in a sequence defined,at least in part, by the media playlist, the media data items beingcapable of comprising a media data item and another media data item, themedia data item to be stored, at least in part, in the storage, theanother media data item to be stored, at least in part, at the remoteserver system, the another media data item being unavailable forretrieval, at least in part, from the storage for playing by thecellular client electronic device; displaying, at least in part, via thedisplay subsystem, the media playlist; displaying, at least in part, viathe display subsystem, at least one icon in association with the anothermedia data item and the media playlist, the at least one icon being toindicate that the another media data item is stored, at least in part,at the remote server system instead of being stored, at least in part,in the storage; and receiving, at least in part, via the user interface,at least one additional user input that requests playing, at least inpart, of the media playlist, the playing, at least in part, of the mediaplaylist being capable of being based, at least in part, upon: at leastone media stream to be received, at least in part, from the remoteserver system via the Internet network, for use in the playing of themedia playlist, the at least one media stream to correspond, at least inpart, to the another media data item.
 59. The one or more non-transitorystorage media of claim 58, wherein: the storage comprises flash storage;the cellular client electronic device also is capable, when the cellularclient electronic device is in the operation, of executing an operatingsystem that is based, at least in part, upon a Linux operating system;and the media data item and the another media data item comprise mediatracks.
 60. The one or more non-transitory storage media of claim 58,wherein: the cellular client electronic device is capable, when thecellular client electronic device is in the operation, of wirelesslyreceiving at least one portion of the at least one media stream from theremote server system only while an active communication connectionexists between the cellular client electronic device and the remoteserver system, the at least one portion of the at least one media streamto be stored temporarily in the storage.
 61. The one or morenon-transitory storage media of claim 58, wherein: the cellular clientelectronic device is capable, when the cellular client electronic deviceis in the operation, of displaying, via the display subsystem,respective icons in association with respective media data items in themedia playlist; the respective icons are to indicate whether therespective media data items are stored in the remote server system or inthe cellular client electronic device.
 62. The one or morenon-transitory storage media of claim 58, wherein: the media playlist iscapable of being associated with at least one user selected genre, theat least one user selected genre being at least one of a pluralitypossible genres; and the remote server system is capable of storing:respective users' musical preference data; metadata associated with themedia data items of the media playlist; and listening trend data. 63.The one or more non-transitory storage media of claim 58, wherein: thecellular client electronic device comprises: a cellular telephone;personal data assistant device; and/or wireless email device.
 64. Theone or more non-transitory storage media of claim 58, wherein: thedisplay subsystem comprises a liquid crystal display or a light emittingdiode display.
 65. A server system for wirelessly communicating, atleast in part, via an Internet network with a cellular client electronicdevice, the server system comprising: one or more processors; andstorage capable of storing instructions that are for being executed bythe one or more processors, the instructions, when executed by the oneor more processors resulting in the server system being configured toperform operations comprising: receiving, via the Internet network, atleast one request from the cellular client electronic device, the atleast one request being to request accessing of at least one media dataitem of a media playlist, the media playlist comprising media data itemsthat are capable of being stored, at least in part, in the cellularclient electronic device and in the server system, the accessing beingfor use in facilitating playing at the cellular client electronic deviceof the media data items in a sequence that is defined, at least in part,by the media playlist, the media data items comprising a media data itemand another media data item, the media data item to be stored, at leastin part, in the cellular client electronic device, the another mediadata item to be stored, at least in part, at the server system, theanother media data item being unavailable for retrieval, at least inpart, from the cellular client electronic device for playing at thecellular client electronic device; and receiving, via the Internetnetwork, at least one additional request from the cellular clientelectronic device, the at least one additional request to result inprovision of at least one media stream to the cellular client electronicdevice, the at least one media stream corresponding, at least in part,to the another media data item and being for use in playing, at least inpart, at the cellular client electronic device of the media playlist;wherein: at least one icon is to be displayed by the cellular clientelectronic device in association with the media playlist and the anothermedia data item; and the at least one icon is to indicate that theanother media data item is stored, at least in part, at the serversystem instead of being stored, at least in part, in the cellular clientelectronic device.
 66. The server system of claim 65, wherein: thecellular client electronic device also is capable, when the cellularclient electronic device is in operation, of executing an operatingsystem that is based, at least in part, upon a Linux operating system;and the media data item and the another media data item comprise mediatracks.
 67. The server system of claim 65, wherein: the cellular clientelectronic device is capable, when the cellular client electronic deviceis in operation, of wirelessly receiving at least one portion of the atleast one media stream from the remote server system only while anactive communication connection exists between the cellular clientelectronic device and the server system, the at least one portion of theat least one media stream to be stored temporarily in the cellularclient electronic device.
 68. The server system of claim 65, wherein: inoperation of the cellular client electronic device, the cellular clientelectronic device is to display respective icons in association withrespective media data items in the media playlist; and the respectiveicons are to indicate whether the respective media data items are storedin the server system or in the cellular client electronic device. 69.The server system of claim 65, wherein: the media playlist is capable ofbeing associated with at least one user selected genre, the at least oneuser selected genre being at least one of a plurality possible genres;and the server system is to store: respective users' musical preferencedata; metadata associated with the media data items of the mediaplaylist; and listening trend data.
 70. The server system of claim 65,wherein: the cellular client electronic device comprises: a cellulartelephone; personal data assistant device; and/or wireless email device.71. The server system of claim 65, wherein: the cellular clientelectronic device comprises a liquid crystal display or a light emittingdiode display.
 72. One or more non-transitory storage media storingprogram instructions for execution by a server system, the server systembeing for wireless communication with a cellular client electronicdevice via an Internet network, the server system comprising storage,the execution of the program instructions by the server system resultingin the server system being configured to perform operations comprising:receiving, via the Internet network, at least one request from thecellular client electronic device, the at least one request being torequest accessing of at least one media data item of a media playlist,the media playlist comprising media data items that are capable of beingstored, at least in part, in the cellular client electronic device andin the server system, the accessing being for use in facilitatingplaying at the cellular client electronic device of the media data itemsin a sequence that is defined, at least in part, by the media playlist,the media data items comprising a media data item and another media dataitem, the media data item to be stored, at least in part, in thecellular client electronic device, the another media data item to bestored, at least in part, at the server system, the another media dataitem being unavailable for retrieval, at least in part, from thecellular client electronic device for playing at the cellular clientelectronic device; and receiving, via the Internet network, at least oneadditional request from the cellular client electronic device, the atleast one additional request to result in provision of at least onemedia stream to the cellular client electronic device, the at least onemedia stream corresponding, at least in part, to the another media dataitem and being for use in playing, at least in part, at the cellularclient electronic device of the media playlist; wherein: at least oneicon is to be displayed by the cellular client electronic device inassociation with the media playlist and the another media data item; andthe at least one icon is to indicate that the another media data item isstored, at least in part, at the server system instead of being stored,at least in part, in the cellular client electronic device.
 73. The oneor more non-transitory storage media of claim 72, wherein: the cellularclient electronic device also is capable, when the cellular clientelectronic device is in operation, of executing an operating system thatis based, at least in part, upon a Linux operating system; and the mediadata item and the another media data item comprise media tracks.
 74. Theone or more non-transitory storage media of claim 72, wherein: thecellular client electronic device is capable, when the cellular clientelectronic device is in operation, of wirelessly receiving at least oneportion of the at least one media stream from the remote server systemonly while an active communication connection exists between thecellular client electronic device and the server system, the at leastone portion of the at least one media stream to be stored temporarily inthe cellular client electronic device.
 75. The one or morenon-transitory storage media of claim 72, wherein: in operation of thecellular client electronic device, the cellular client electronic deviceis to display respective icons in association with respective media dataitems in the media playlist; and the respective icons are to indicatewhether the respective media data items are stored in the server systemor in the cellular client electronic device.
 76. The one or morenon-transitory storage media of claim 72, wherein: the media playlist iscapable of being associated with at least one user selected genre, theat least one user selected genre being at least one of a pluralitypossible genres; and the server system is to store: respective users'musical preference data; metadata associated with the media data itemsof the media playlist; and listening trend data.
 77. The one or morenon-transitory storage media of claim 72, wherein: the cellular clientelectronic device comprises: a cellular telephone; personal dataassistant device; and/or wireless email device.
 78. The one or morenon-transitory storage media of claim 72, wherein: the cellular clientelectronic device comprises a liquid crystal display or a light emittingdiode display.